JsonNode JSON के लिए Jackson का ट्री मॉडल है और यह JSON को JsonNode इंस्टेंस में पढ़ सकता है और JsonNode को JSON में लिख सकता है। Jackson द्वारा JSON को JsonNode में पढ़ने के लिए ObjectMapper इंस्टेंस बनाएं और readValue() मेथड को कॉल करें। हम JsonNode क्लास के get() मेथड का उपयोग करके फील्ड, ऐरे या नेस्टेड ऑब्जेक्ट को एक्सेस कर सकते हैं। हम asText() मेथड का उपयोग करके वैध स्ट्रिंग प्रतिनिधित्व लौटा सकते हैं और JsonNode क्लास के asInt() मेथड का उपयोग करके नोड के मान को Java int में बदल सकते हैं।
नीचे दिए गए उदाहरण में, हम JsonNode के JSON फील्ड्स, ऐरे और नेस्टेड ऑब्जेक्ट्स को एक्सेस कर सकते हैं।
उदाहरण
import com.fasterxml.jackson.databind.*;
import java.io.*;
public class ParseJSONNodeTest {
public static void main(String args[]) {
String jsonStr = "{ \"name\" : \"Raja\", \"age\" : 30," +
" \"technologies\" : [\"Java\", \"Scala\", \"Python\"]," +
" \"nestedObject\" : { \"field\" : \"value\" } }";
ObjectMapper objectMapper = new ObjectMapper();
try {
JsonNode node = objectMapper.readValue(jsonStr, JsonNode.class);
JsonNode nameNode = node.get("name");
String name = nameNode.asText();
System.out.println(name);
JsonNode ageNode = node.get("age");
int age = ageNode.asInt();
System.out.println(age);
JsonNode array = node.get("technologies");
JsonNode jsonNode = array.get(1);
String techStr = jsonNode.asText();
System.out.println(techStr);
JsonNode child = node.get("nestedObject");
JsonNode childField = child.get("field");
String field = childField.asText();
System.out.println(field);
} catch (IOException e) {
e.printStackTrace();
}
}
}
आउटपुट
Raja 30 Scala value