Heim >Java >javaLernprogramm >Wie greife ich in Java auf die JSON-Felder, Arrays und verschachtelten Objekte von JSONNode zu?
Ein JsonNode ist Jacksons JSON-Baummodell, das JSON in JsonNode-Instanzen einlesen und JsonNode in JSON schreiben kann. Wir können Jackson verwenden, um JSON in einen JsonNode einzulesen, indem wir eine ObjectMapper-Instanz erstellen und die readValue()-Methode aufrufen. Wir können die Methode get() der Klasse JsonNode verwenden, um auf Felder, Arrays oder verschachtelte Objekte zuzugreifen. Wir können die Methode asText() verwenden, um eine gültige Zeichenfolgendarstellung zurückzugeben, und die Methode asInt() der Klasse JsonNode verwenden, um den Wert des Knotens in einen Java-Int zu konvertieren.
Im folgenden Beispiel können wir auf die JSON-Felder, Arrays und verschachtelten Objekte von JsonNode zugreifen.
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
Das obige ist der detaillierte Inhalt vonWie greife ich in Java auf die JSON-Felder, Arrays und verschachtelten Objekte von JSONNode zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!