문자열을 사용하여 JSON 개체를 만드는 방법은 무엇입니까?


91

문자열을 사용하여 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,
    }
  ]
}

감사.

답변:


183

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"}

JSONObject문자열에서 어떻게 다시 변환 합니까?
morha13

JSONObject jsonObj = new JSONObject("your_json_string");
Camille

기술적으로 유효한 JSON이지만 JSON 배열을 구문 분석하지 못합니다. 예를 들어 JSONObject("[{\"foo\":2, \"bar\": 3}]");결과를 시도 하면A JSONObject text must begin with '{' at 1 [character 2 line 1]
user2490003

1
작품 매력
Sobhit 샤르마에게


0

gson.JsonObject를 사용하면 다음과 같은 것을 가질 수 있습니다.

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)
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.