Exemple JSON.simple - Lecture et écriture JSON

JSON.simple – Read and write JSON

JSON.simple est une bibliothèque Java simple pour le traitement JSON, la lecture et l'écriture de données JSON et la conformité totale avecJSON specification (RFC4627)

Warning
Cet article utilise l'ancienJSON.simple 1.x, qui est obsolète et n'est plus maintenu par l'auteur. Veuillez consulter cet article mis à jour -JSON.simple 3.x – How to parse JSON

Why not Jackson or Gson?
Vous pourriez avoir intérêt à lire cet article - Comment analyser JSON avecJackson ouGson

1. Télécharger JSON.simple

pom.xml

    
        com.googlecode.json-simple
        json-simple
        1.1.1
    

2. Ecrire JSON dans un fichier

JsonSimpleWriteExample.java

package com.example;

import org.json.simple.JSONArray;
import org.json.simple.JSONObject;

import java.io.FileWriter;
import java.io.IOException;

public class JsonSimpleWriteExample {

    public static void main(String[] args) {

        JSONObject obj = new JSONObject();
        obj.put("name", "example.com");
        obj.put("age", 100);

        JSONArray list = new JSONArray();
        list.add("msg 1");
        list.add("msg 2");
        list.add("msg 3");

        obj.put("messages", list);

        try (FileWriter file = new FileWriter("c:\\projects\\test.json")) {
            file.write(obj.toJSONString());
        } catch (IOException e) {
            e.printStackTrace();
        }

        System.out.print(obj);

    }

}

Sortie

Terminal

{"name":"example.com","messages":["msg 1","msg 2","msg 3"],"age":100}

c:\projects\test.json

{"name":"example.com","messages":["msg 1","msg 2","msg 3"],"age":100}

3. Lire JSON dans un fichier

JsonSimpleReadExample.java

package com.example;

import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;

import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;
import java.util.Iterator;

public class JsonSimpleReadExample {

    public static void main(String[] args) {

        JSONParser parser = new JSONParser();

        try (Reader reader = new FileReader("c:\\projects\\test.json")) {

            JSONObject jsonObject = (JSONObject) parser.parse(reader);
            System.out.println(jsonObject);

            String name = (String) jsonObject.get("name");
            System.out.println(name);

            long age = (Long) jsonObject.get("age");
            System.out.println(age);

            // loop array
            JSONArray msg = (JSONArray) jsonObject.get("messages");
            Iterator iterator = msg.iterator();
            while (iterator.hasNext()) {
                System.out.println(iterator.next());
            }

        } catch (IOException e) {
            e.printStackTrace();
        } catch (ParseException e) {
            e.printStackTrace();
        }

    }


}

Sortie

Terminal

{"name":"example.com","messages":["msg 1","msg 2","msg 3"],"age":100}
example.com
100
msg 1
msg 2
msg 3