Maison > Java > javaDidacticiel > le corps du texte

Comment analyser et parcourir un tableau JSON en JAVA ? Maîtrisez les compétences en traitement de tableaux JSON.

WBOY
Libérer: 2023-09-06 11:30:44
original
615 Les gens l'ont consulté

Comment analyser et parcourir un tableau JSON en JAVA ? Maîtrisez les compétences en traitement de tableaux JSON.

Comment analyser et parcourir un tableau JSON en JAVA ? Maîtrisez les compétences en traitement de tableaux JSON.

Avec le développement rapide de l'Internet moderne, JSON (JavaScript Object Notation) est devenu un format d'échange de données couramment utilisé. Il est concis, facile à lire et très adapté à la transmission de données dans le développement Web et les interfaces API. En JAVA, l'analyse et le parcours des tableaux JSON sont des opérations très courantes. Cet article explique comment utiliser JAVA pour analyser les tableaux JSON et donne des exemples de code correspondants.

Tout d'abord, nous devons importer les bibliothèques pertinentes pour traiter JSON. En JAVA, vous pouvez utiliser certaines bibliothèques tierces, comme Jackson, Gson, etc. Ici, nous prenons la bibliothèque Jackson comme exemple à présenter. Tout d'abord, ajoutez les dépendances correspondantes à votre projet :

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.12.3</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.12.3</version>
</dependency>
Copier après la connexion

Voici un exemple simple de tableau JSON :

[
    {
        "name": "Alice",
        "age": 25
    },
    {
        "name": "Bob",
        "age": 28
    },
    {
        "name": "Charlie",
        "age": 30
    }
]
Copier après la connexion

Ensuite, voyons comment utiliser JAVA pour analyser et parcourir ce tableau JSON.

Tout d'abord, nous devons définir une classe POJO (Plain Old Java Object) pour mapper les données en JSON. Pour l'exemple de tableau JSON ci-dessus, nous pouvons définir une classe Person : Person类:

public class Person {
    private String name;
    private int age;

    // 省略getter和setter方法
}
Copier après la connexion

然后,我们可以使用以下代码来解析JSON数组:

import com.fasterxml.jackson.databind.ObjectMapper;

import java.io.IOException;

public class JsonArrayParsingExample {
    public static void main(String[] args) {
        String json = "[{"name":"Alice","age":25},{"name":"Bob","age":28},{"name":"Charlie","age":30}]";

        ObjectMapper objectMapper = new ObjectMapper();
        try {
            Person[] persons = objectMapper.readValue(json, Person[].class);

            // 遍历数组
            for (Person person : persons) {
                System.out.println("Name: " + person.getName() + ", Age: " + person.getAge());
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
Copier après la connexion

首先,我们创建了一个ObjectMapper实例,它是Jackson库的核心类,用于处理JSON。然后,我们使用readValue方法将JSON字符串转换为Person对象的数组。最后,我们通过遍历数组,打印出每个人的姓名和年龄。

以上代码输出:

Name: Alice, Age: 25
Name: Bob, Age: 28
Name: Charlie, Age: 30
Copier après la connexion

如果JSON数组中的每个对象具有不同的结构,我们可以使用JsonNode对象来处理。JsonNode

import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;

import java.io.IOException;

public class JsonArrayParsingExample {
    public static void main(String[] args) {
        String json = "[{"name":"Alice","age":25},{"title":"Software Engineer","salary":5000}]";

        ObjectMapper objectMapper = new ObjectMapper();
        try {
            JsonNode[] nodes = objectMapper.readValue(json, JsonNode[].class);

            // 遍历数组
            for (JsonNode node : nodes) {
                // 判断节点类型
                if (node.has("name")) {
                    String name = node.get("name").asText();
                    int age = node.get("age").asInt();
                    System.out.println("Name: " + name + ", Age: " + age);
                } else if (node.has("title")) {
                    String title = node.get("title").asText();
                    int salary = node.get("salary").asInt();
                    System.out.println("Title: " + title + ", Salary: " + salary);
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
Copier après la connexion

Ensuite, nous pouvons utiliser le code suivant pour analyser le tableau JSON :

Name: Alice, Age: 25
Title: Software Engineer, Salary: 5000
Copier après la connexion
Tout d'abord, nous créons un ObjectMapper instance, qui est la classe principale de la bibliothèque Jackson et est utilisée pour traiter JSON. Nous utilisons ensuite la méthode <code>readValue pour convertir la chaîne JSON en un tableau d'objets Person. Enfin, nous parcourons le tableau et imprimons le nom et l'âge de chaque personne.

Le résultat du code ci-dessus : 🎜rrreee🎜Si chaque objet du tableau JSON a une structure différente, nous pouvons utiliser l'objet JsonNode pour le gérer. JsonNode est une classe abstraite utilisée pour représenter les nœuds JSON dans la bibliothèque Jackson. Ce qui suit est un exemple de traitement de tableaux JSON de différentes structures : 🎜rrreee🎜Sortie : 🎜rrreee🎜Ce qui précède est un exemple simple d'analyse et de parcours de tableaux JSON en JAVA. En maîtrisant ces compétences de base, vous pouvez facilement traiter les données JSON renvoyées par le serveur, extraire les informations requises pour un traitement ultérieur et un affichage. J'espère que cet article vous sera utile ! 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal