將Java物件轉為JsonNode
阿新 • • 發佈:2018-11-20
在RPC介面呼叫的時候,經常會遇到這樣的問題,本身是一個JsonNode物件,但是由於物件介面的返回形式,只獲取到了Map或Object等其他形式的物件,為了方便進行屬性值的獲取,需要進行物件的轉換,可以利用import com.fasterxml.jackson.databind.JsonNode與
import com.fasterxml.jackson.databind.ObjectMapper實現:
(1)將Java物件轉換為json字串
(2)json字串轉換為JsonNode
提供一個demo:
Map<String, Object> retMap = metricService.getTree (business, id, type, isLabel);//RPC
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(retMap.get("data"));
JsonNode data = mapper.readTree(json);
JsonNode result = data.findValue("result");
Iterator<JsonNode> elements = result.elements ();
while (elements.hasNext()){
JsonNode node = elements.next();
String label = node.findValue("label").asText();
System.out.println(label);
}