2016-12-14 63 views
0

的Java:如何轉換:的Java:轉換Java對象到JacksonJsonNode

從 對象的字符串(java.lang.Object中):

String [{"rule_id":7528,"name":"JAY_TEST_RULE"}] 

要 JsonNode(com.fasterxml.jackson.databind .JsonNode):

{"rule_id":7528,"name":"JAY_TEST_RULE"} 


My Attempts : 

Using 

Object actionInfoValue = memcachedObject.getDataForKey(actionInfoKey); 

ObjectMapper mapper = new ObjectMapper(); 

actionInfo = mapper.convertValue(actionInfoValue,JsonNode.class); 

OR 

actionInfo = mapper.valueToTree(actionInfoValue.toString()); 

我得到

actionInfo = "[{\"rule_id\":7528,\"name\":\"JAY_TEST_RULE\"}]" 

但我需要

actionInfo = {"rule_id":7528,"name":"JAY_TEST_RULE"} 
+1

[轉換Java對象到JsonNode傑克遜(http://stackoverflow.com/questions/11828368/convert-java-object-to-jsonnode-in-jackson) – DimaSan

+2

的可能的複製[傑克遜可能的複製:有沒有辦法將POJO直接序列化爲treemodel?](http://stackoverflow.com/questions/6967583/jackson-is-there-a-way-to-serialize-pojos-directly-to-treemodel) – choasia

+0

你的對象是一個數組,你可以將它轉換爲JsonArray – thepaulo

回答

0

我解決了它:

字符串actionInfoValue =(字符串)memcachedObject.getDataForKey(actionInfoKey);

以上將給我數組JsonString,將其轉換爲JsonString我用substring方法如下。

actionInfoValue = actionInfoValue.substring(1,actionInfoValue.length() - 1);