2017-07-27 1 views
-1

を使用して正しくJSONオブジェクトを構築することができない私は、JSONオブジェクトを構築して、次のプログラムを持っています。次のプログラムを使用して配列の配列を作成する方法がわかりません。JSONObject

のpom.xml

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

JsonObjectConverter.java

public class JsonObjectConverter { 

    private static final String STORE_ID = "TMSUS"; 

    public static void main(String[] args) { 
     System.out.println(print1()); 
    } 

    private static String print1() { 
     JSONObject body = new JSONObject(); 

     JSONArray events1 = new JSONArray(); 
     events1.add(100L); 
     events1.add(200L); 
     JSONArray events2 = new JSONArray(); 
     events2.add(300L); 
     events2.add(400L); 

     JSONArray eventLogs = new JSONArray(); 
     eventLogs.add(events1); 
     eventLogs.add(events2); 

     body.put("storeId", STORE_ID); 
     body.put("eventLogs", eventLogs); 

     return body.toString(); 
    } 

} 

現在のプログラムで出力:

{ 
    "eventLogs": [ 
    [ 
     100, 
     200 
    ], 
    [ 
     300, 
     400 
    ] 
    ], 
    "storeId": "TMSUS" 
} 

期待される出力:

{ 
    "eventLogs": [ 
    { 
     "storeId": "TMSUS", 
     "eventIds": [ 
     100, 
     200 
     ] 
    }, 
    { 
     "storeId": "TMSCA", 
     "eventIds": [ 
     300, 
     400 
     ] 
    } 
    ], 
    "userName": "meOnly" 
} 

期待される出力を得る方法がわかりません。

ご案内しています。

+0

*配列*の配列を挿入すると、なぜ*オブジェクト*の配列が得られないのでしょうか?あなたの質問は何ですか? – shmosel

+0

私はあなたが配列の配列を構築している – user2325154

+0

上記のプログラムを使用して、配列の配列を構築する方法を確認していません。しかし、それはあなたの期待出力の構造ではありません。明らかに、JSON配列とオブジェクトを構築する方法の概念があります。あなたはどこにいらっしゃったのか、より具体的にする必要があります。 – shmosel

答えて

0

私はそれが働いてしまった、気にしません。ここに更新されたメソッドがあります。

private static String print1() { 
     JSONObject body = new JSONObject(); 

     JSONObject eventLog1 = new JSONObject(); 
     JSONArray events1 = new JSONArray(); 
     events1.add(100L); 
     events1.add(200L); 
     eventLog1.put("storeId", "TMSUS"); 
     eventLog1.put("eventIds", events1); 

     JSONObject eventLog2 = new JSONObject(); 
     JSONArray events2 = new JSONArray(); 
     events2.add(300L); 
     events2.add(400L); 
     eventLog2.put("storeId", "CBKUS"); 
     eventLog2.put("eventIds", events2); 

     JSONArray eventLogs = new JSONArray(); 
     eventLogs.add(eventLog1); 
     eventLogs.add(eventLog2); 

     body.put("eventLogs", eventLogs); 
     body.put("userName", "customer-portal-user"); 

     return body.toString(); 
    }