Heim  >  Artikel  >  Java  >  Wie greife ich in Java auf die JSON-Felder, Arrays und verschachtelten Objekte von JSONNode zu?

Wie greife ich in Java auf die JSON-Felder, Arrays und verschachtelten Objekte von JSONNode zu?

WBOY
WBOYnach vorne
2023-08-30 23:05:05648Durchsuche

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.

Beispiel

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();
      }
   }
}

Ausgabe

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen