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"); Iteratoriterator = 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