2016-11-02 4 views
0

자바 코드에서 JSON 파일에 데이터를 저장하기 위해 JSONObject 라이브러리를 사용하고 있습니다. JSONObject에 대해 다음 tutorial을 발견했습니다. 내가 알아 내려고하는 것은 Json 계층 구조가 어떻게 작동 할 수 있는지입니다. 기본적으로 나는 모든 X 및 Y 마우스 이벤트와 해당 타임 스탬프를 json 파일에 저장하려고합니다. 나는 다음과 같은 코드가 있습니다 :자바의 Json 파일에 정보 저장

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, 시간) 저장해야합니다. 그래서 그것은 2 차원 어레이를 원한다는 것이 아닙니까? –

+0

배열 배열입니다. 이벤트가 발생할 때마다 하나의 배열을 추가합니다. – neuhaus

+0

아마도 "x", "y"및 "timestamp"키를 사용하여 이벤트 당 객체를 생성하고 이벤트가 발생할 때마다 "Mouse events"배열에 객체를 추가하는 것이 더 쉽습니다. – neuhaus