2016-11-02 11 views
0

我使用的JSONObject庫,以便從我的Java代碼存儲在JSON文件中的數據。我遇到了關於JSONObject的以下tutorial。我試圖弄清楚Json層次結構是如何工作的。基本上我想在json文件中存儲所有的X和Y鼠標事件以及相應的時間戳。我有以下代碼:存儲信息爲JSON文件在Java中

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

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

    }; 

當我嘗試存儲此JSON對象到文件我只是隻有一個(X,Y,時間)。我怎麼能得到他們所有的人?

{ 「鼠標事件」:[2016年11月2日14:49:07.1,457.0,642.0], 「用戶交互」: 「學習遊戲應用程序」}

回答

2

您正在存儲數組中的「鼠標事件」對象。 每次到達線路

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

上一條目被覆蓋。 你想要的是有一個數組「鼠標事件」並在每個事件中向陣列添加新數組。

檢索值作爲JSONArray,加()新JSONArray給你檢索到的數組,然後在Jobj再存放起來。

+0

我需要存儲(X,Y,時間)每個事件滴答。所以我不想要一個2D數組? –

+0

這是一個數組數組。每次事件發生時添加一個數組。 – neuhaus

+0

如果您使用鍵「x」,「y」和「timestamp」爲每個事件創建一個對象,並且每次事件發生時將該對象添加到數組「Mouse事件」中,您可能會更容易理解它。 – neuhaus