JSON.simple, is a simple Java library for JSON processing, read and write JSON data and full compliance withJSON specification (RFC4627).

Note
To convert object to / from JSON, you should consider Jackson or Gson.

In this tutorial, we show you how to use JSON.simple to read and write JSON data from / to a file.

1. JSON.simple Dependency

JSON.simple is available at Maven central repository, just declares following dependency in yourpom.xml file.

  <dependency><groupId>com.googlecode.json-simple</groupId><artifactId>json-simple</artifactId><version>1.1</version>  </dependency>

2. Write JSON to file

In below example, it write JSON data via JSONObject and JSONArray, and save it into a file named “test.json“.

import java.io.FileWriter;import java.io.IOException;import org.json.simple.JSONArray;import org.json.simple.JSONObject; public class JsonSimpleExample {     public static void main(String[] args) { JSONObject obj = new JSONObject();obj.put("name", "mkyong.com");obj.put("age", new Integer(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:\\test.json");file.write(obj.toJSONString());file.flush();file.close(); } catch (IOException e) {e.printStackTrace();} System.out.print(obj);      } }

Output – See content of file named “test.json“.

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

3. Read JSON from file

Use JSONParser to read above generated JSON file “test.json“, and display each of the values.

import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;import java.util.Iterator;import org.json.simple.JSONArray;import org.json.simple.JSONObject;import org.json.simple.parser.JSONParser;import org.json.simple.parser.ParseException; public class JsonSimpleExample {     public static void main(String[] args) { JSONParser parser = new JSONParser(); try { Object obj = parser.parse(new FileReader("c:\\test.json")); JSONObject jsonObject = (JSONObject) obj; String name = (String) jsonObject.get("name");System.out.println(name); long age = (Long) jsonObject.get("age");System.out.println(age); // loop arrayJSONArray msg = (JSONArray) jsonObject.get("messages");Iterator<String> iterator = msg.iterator();while (iterator.hasNext()) {System.out.println(iterator.next());} } catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} catch (ParseException e) {e.printStackTrace();}      } }

Output

mkyong.com100msg 1msg 2msg 3

References

  1. JSON.simple official website
  2. JSON.simple encoding JSON example
  3. JSON.simple decoding JSON example