Chcę utworzyć obiekt JSON za pomocą ciągu.
Przykład: JSON {"test1":"value1","test2":{"id":0,"name":"testName"}}
Aby utworzyć powyższy JSON, używam tego.
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);
Chcę wiedzieć, jak mogę utworzyć JSON, który zawiera tablicę JSON.
Poniżej znajduje się przykładowy plik 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,
}
]
}
Dzięki.
JSONObject
ciąg?JSONObject jsonObj = new JSONObject("your_json_string");
JSONObject("[{\"foo\":2, \"bar\": 3}]");
wyników wA JSONObject text must begin with '{' at 1 [character 2 line 1]
W przeciwieństwie do tego, co proponuje zaakceptowana odpowiedź, dokumentacja mówi, że dla JSONArray () musisz użyć
put(value)
noadd(value)
.https://developer.android.com/reference/org/json/JSONArray.html#put(java.lang.Object)
(Android API 19-27. Kotlin 1.2.50)
źródło
Jeśli używasz gson.JsonObject, możesz mieć coś takiego:
import com.google.gson.JsonObject; import com.google.gson.JsonParser; String jsonString = "{'test1':'value1','test2':{'id':0,'name':'testName'}}" JsonObject jsonObject = (JsonObject) jsonParser.parse(jsonString)
źródło