반응형
String을 사용하여 JSON 개체를 만드는 방법
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 Array를 탑재한 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,
}
]
}
감사합니다.
org.json.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.put(item);
json.put("course", array);
message = json.toString();
// message
// {"course":[{"id":3,"information":"test","name":"course1"}],"name":"student"}
받아들여진 답변과는 달리 문서에서는 JSONAray()에 대해 사용해야 한다고 되어 있습니다.put(value)
아니요.add(value)
.
https://developer.android.com/reference/org/json/JSONArray.html#put(java.lang.Object)
(Android API 19-27).Kotlin 1.2.50)
gson을 사용한다면.Json Object는 다음과 같은 것을 가질 수 있습니다.
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)
String jsonString = "{'element1':'value1','element2':{'id':0,'name':'testName'}}";
JsonObject jsonObject = (JsonObject) JsonParser.parseString(jsonString);
언더스코어-자바는 객체에서 json을 생성할 수 있습니다.
import com.github.underscore.U;
String message = U.objectBuilder()
.add("course", U.arrayBuilder()
.add(U.objectBuilder()
.add("id", 3)
.add("information", "test")
.add("name", "course1")
))
.add("name", "student")
.toJson();
System.out.println(message);
// {
// "course": [
// {
// "id": 3,
// "information": "test",
// "name": "course1"
// }
// ],
// "name": "student"
// }
언급URL : https://stackoverflow.com/questions/20117148/how-to-create-json-object-using-string
반응형
'source' 카테고리의 다른 글
플롯 배경색을 변경하는 방법 (0) | 2022.09.12 |
---|---|
PEP8에 준거하여 E501을 방지하는 매우 긴 문자열 작성 방법 (0) | 2022.09.12 |
Vue.js - 필터링된 scopedSlot에서 슬롯을 동적으로 만듭니다. (0) | 2022.09.12 |
Seaborn 막대플롯의 축 레이블 (0) | 2022.09.12 |
특정 인덱스에 문자열 삽입 (0) | 2022.09.11 |