I have the following program which is building the JSON object. Not sure how to build array of arrays using following program.
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();
}
}
Output with the current program:
{
"eventLogs": [
[
100,
200
],
[
300,
400
]
],
"storeId": "TMSUS"
}
Expected Output:
{
"eventLogs": [
{
"storeId": "TMSUS",
"eventIds": [
100,
200
]
},
{
"storeId": "TMSCA",
"eventIds": [
300,
400
]
}
],
"userName": "meOnly"
}
Not sure how to get the expected output.
Please guide.
Never mind, I got it working. Here is the updated method.
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();
}