Stringを使ってJSONオブジェクトを作成したいです。
例:JSON {"test1":"value1","test2":{"id":0,"name":"testName"}}
上記のJSONを作成するために、これを使用しています。
String message;
JSONObject json = new JSONObject();
json.put("test1", "value1");
JSONObject jsonObj = new JSONObject();
jsonObj.put("id", 0);
jsonObj.put("name", "testName");
json.put("test2", jsonObj);
message = json.toString();
System.out.println(message);
JSON配列を含むJSONを作成する方法を知りたいです。
以下はJSONのサンプルです。
{
"name": "student",
"stu": {
"id": 0,
"batch": "batch@"
},
"course": [
{
"information": "test",
"id": "3",
"name": "course1"
}
],
"studentAddress": [
{
"additionalinfo": "test info",
"Address": [
{
"H.No": "1243",
"Name": "Temp Address",
"locality": "Temp locality",
"id":33
},
{
"H.No": "1243",
"Name": "Temp Address",
"locality": "Temp locality",
"id":33
},
{
"H.No": "1243",
"Name": "Temp Address",
"locality": "Temp locality",
"id":36
}
],
"verified": true,
}
]
}
ありがとう。
JSONArray
はあなたが望むものかもしれません。
String message;
JSONObject json = new JSONObject();
json.put("name", "student");
JSONArray array = new JSONArray();
JSONObject item = new JSONObject();
item.put("information", "test");
item.put("id", 3);
item.put("name", "course1");
array.add(item);
json.put("course", array);
message = json.toString();
// message
// {"course":[{"id":3,"information":"test","name":"course1"}],"name":"student"}
受け入れられた答えが提案するものとは対照的に、ドキュメントはJSONArray()にはput(value)
no add(value)
を使わなければならないと言います。
https://developer.Android.com/reference/org/json/JSONArray.html#put(Java.lang.Object)
(Android API 19-27、Kotlin 1.2.50)