JSON.simple пример - читать и писать JSON

JSON.simple – Read and write JSON

JSON.simple - простая библиотека Java для обработки JSON, чтения и записи данных JSON и полного соответствияJSON specification (RFC4627)

Warning
В этой статье используется старыйJSON.simple 1.x, который устарел и больше не поддерживается автором. Посетите эту обновленную статью -JSON.simple 3.x – How to parse JSON

Why not Jackson or Gson?
Возможно, вам будет интересно прочитать эту статью - Как разобрать JSON с помощьюJackson илиGson

1. Скачать JSON.simple

pom.xml

    
        com.googlecode.json-simple
        json-simple
        1.1.1
    

2. Записать JSON в файл

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

    }

}

Выход

Терминал

{"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. Читать JSON в файл

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

    }


}

Выход

Терминал

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