A JsonNode is Jackson's JSON tree model, which can read JSON as a JsonNode instance and write JsonNode to JSON. We can use Jackson to read JSON into a JsonNode by creating an ObjectMapper instance and calling the readValue() method. We can use the get() method of the JsonNode class to access the field, array or nested object. We can use the asText() method to return a valid string representation and the asInt() method of the JsonNode class to convert the node's value to a Java int.
In the example below, we can access JsonNode’s JSON fields, arrays, and nested objects.
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
The above is the detailed content of How to access JSONNode's JSON fields, arrays and nested objects in Java?. For more information, please follow other related articles on the PHP Chinese website!