Jose Ramon Jose Ramon - 9 months ago 44
JSON Question

Store information into Json file in java

I am using JSONObject library in order to store data in json file from my java code. I came across the following tutorial about JSONObject. What I am trying to figure out is how the Json hierarchy could work. Basically I want to store in a json file all the X and Y mouse events and the correspondant timestamps. I have the following code:

Jobj = new JSONObject();
Jobj.put("user interactions", "Learning game applications");
EventHandler<MouseEvent> handler = event -> {
java.util.Date date = new java.util.Date();

JSONArray list = new JSONArray();
list.add(new Timestamp(date.getTime()));
Jobj.put("Mouse Events", list);


When I am trying to store this Json object into file I got just only one (X, Y, Time). How can I got all of them?

{"Mouse Events":[2016-11-02 14:49:07.1,457.0,642.0],"user interactions":"Learning game applications"}

Answer Source

You are storing the array in an object "Mouse Events". Every time you reach the line

Jobj.put("Mouse Events", list);

the previous entry is overwritten. What you want is to have an array "Mouse events" and add new arrays to the array on every event.

Retrieve the value as a JSONArray, add() the new JSONArray to the array you retrieved, then store it again in Jobj.