Heim > Java > javaLernprogramm > Hauptteil

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

WBOY
Freigeben: 2023-08-30 23:05:05
nach vorne
655 Leute haben es durchsucht

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();
      }
   }
}
Nach dem Login kopieren

Ausgabe

Raja
30
Scala
value
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!