Maison >Java >javaDidacticiel >Comment analyser le json de JAVA

Comment analyser le json de JAVA

anonymity
anonymityoriginal
2019-05-29 09:19:464189parcourir

1. Qu'est-ce que JSON

JSON est un format d'échange de données léger qui utilise un format de texte totalement indépendant des langages de programmation pour stocker et représenter des données. La simplicité et la structure hiérarchique claire font de JSON un langage d'échange de données idéal. Il est facile à lire et à écrire, ainsi qu'à analyser et à générer, et améliore efficacement l'efficacité de la transmission du réseau.

Comment analyser le json de JAVA

2. Syntaxe JSON

(1) Les données sont dans des paires nom/valeur

(2) Les données sont séparées par des virgules

🎜 >

(3) Les accolades enregistrent l'objet

(4) Les crochets enregistrent le tableau

3. Quatre façons de générer et d'analyser JSON en Java (démo simple) :

Une classe d'entité : utilisée pour convertir des données JSON vers et depuis

public class Person {
    private String name;
    private String sex;
    private int age;
    public Person(String name, String sex, int age) {
        this.name = name;
        this.sex = sex;
        this.age = age;
    }
    public String getName() {
        return name;
    }
    public String getSex() {
        return sex;
    }
    public int getAge() {
        return age;
    }
    @Override
    public String toString() {
        return "Person{name='" + name + '\'' + ", sex='" + sex + '\'' + ", age=" + age + '}';
    }
}
(1) Utiliser des méthodes traditionnelles :

Générer une chaîne Json à partir de la classe d'entité :

public Person getPerson(){
    return new Person("张三", "男", 25);
}
@Test
public void EntityToJson(){
    JSONObject jsonObject = new JSONObject();
    jsonObject.put("name", getPerson().getName());
    jsonObject.put("sex", getPerson().getSex());
    jsonObject.put("age", getPerson().getAge());
    System.out.println(jsonObject.toString());
}

Générer une classe d'entité à partir d'une chaîne Json :

@Test
public void JsonToEntity(){
    String jsonString = "{\"sex\":\"男\",\"name\":\"张三\",\"age\":25}";
    JSONObject jsonObject = new JSONObject(jsonString);
    Person person = new Person(jsonObject.get("name").toString(), jsonObject.get("sex").toString(), Integer.valueOf(jsonObject.get("age").toString()));
    System.out.println(person.toString());
}
(2) Utiliser la méthode Jackson :

Générer une chaîne Json à partir d'une classe d'entité :

@Test
public void EntityToJson() throws IOException {
    Person person = new Person("张三", "男", 25);
    ObjectMapper objectMapper = new ObjectMapper();
    String jsonString = objectMapper.writeValueAsString(person);
    System.out.println(jsonString);
}

Générer une classe d'entité à partir d'une chaîne Json :

@Test
public void JsonToEntity() throws IOException {
    ObjectMapper objectMapper = new ObjectMapper();
    String jsonString = "{\"name\":\"张三\",\"sex\":\"男\",\"age\":25}";
    Person person = objectMapper.readValue(jsonString, Person.class);
    System.out.println(person);
}
(3) Utiliser la méthode GSON :

Générer une chaîne Json à partir d'une classe d'entité :

@Test
public void EntityToJson(){
    Person person = new Person("张三", "男", 25);
    Gson gson = new Gson();
    String jsonString = gson.toJson(person);
    System.out.println(jsonString);
}

Générer une classe d'entité à partir d'une chaîne Json :

@Test
public void JsonToEntity(){
    String jsonString = "{\"name\":\"张三\",\"sex\":\"男\",\"age\":25}";
    Gson gson = new Gson();
    Person person = gson.fromJson(jsonString, Person.class);
    System.out.println(person.toString());
}
(4) Utilisez la méthode FastJSON

pour générer une chaîne Json à partir d'une classe d'entité :

@Test
public void EntityToJson(){
    Person person = new Person("张三", "男", 25);
    Object jsonString = JSON.toJSON(person);
    System.out.println(jsonString.toString());
}

Générer une classe d'entité à partir de la chaîne Json :
@Test
public void JsonToEntity(){
    String jsonString = "{\"name\":\"张三\",\"sex\":\"男\",\"age\":25}";
    Person person = JSON.parseObject(jsonString, Person.class);
    System.out.println(person.toString());
}

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!

Déclaration:
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