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