2014-02-07 2 views
0

json 문자열을 만들지 만 중첩 된 json 문자열에서 JSONObject에 태그를 지정할 수 없습니다. 여기 내가중첩 된 json 문자열을 생성합니다. android

"User": [ 
     { 
      "User1": { 
       "name": "name1", 
       "Address": "add1", 
       "user_detail": { 
        "Qualification": B.E, 
        "DOB": 11/2/1990, 
       } 
      } 
     }, 
     { 
      "User2": { 
       "name": "name2", 
       "Address": "add2", 
       "user_detail": { 
        "Qualification": B.E, 
        "DOB": 11/2/1990, 
       } 
       } 

      } 
     } 
] 

를 원하는 것입니다 그리고 난 여기에

{"User":[{"name":"name1","Address":"Add1"}, {"Qualification": "B.E", "DOB":"11/12/1990"}]} 
But I am failed to add tag for JSONObject both for USer and user_details 

내 코드 여기까지 얻을 관리해야

     try { 
        user = new JSONObject(); 
        user.put("name", "name1"); 
        user.put("Address", "B.E"); 
       } catch (JSONException je) { 
        je.printStackTrace(); 
       } 
       try { 
        userObj = new JSONObject(); 
        userObj.put("User1", user); 
        jsonArray = new JSONArray(); 
        jsonArray.put(user); 

       } catch (JSONException j) { 
        j.printStackTrace(); 
       } 

      } 
     try { 
      users = new JSONObject(); 
      users.put("User", jsonArray); 
     } catch (JSONException e) { 
      e.printStackTrace(); 
     } 

가 중요한 것은 내가 모르는되는 방법 JSONObject에 태그를 지정합니다.

답변

0

작업을 수행하기 위해 원하는 JSON String을 JSONObject 생성자에 전달할 수 있습니다. 살펴보기 here

+0

나는 사용자 = 새 JSONObject ("user1")로 시도했습니다. 하지만 문제가 해결되지 않았습니다 ... –

+0

질문에서 언급 한 전체 JSON 문자열을 String 객체로 전달한 다음 JSONObject (String 문자열)에 전달합니다. 귀하의 경우 'user1'은 전체 JSON 문자열을 포함하는 String 객체 여야합니다. –

+0

나는 이것을 통해 이것을 관리한다 ... jsonArray.put (userObj); jsonArray.put (user); 이 작동하는 것처럼 보입니다 ... 테스트 중입니다 –

0

현재 문자열 JSONObject 대신 JSONObject의 JSONArray가 루트 요소로 포함되어 있습니다. Java에서 현재 Json String을 다음과 같이 만들 수 있습니다.

JSONArray jsonArray = new JSONArray(); 

// User1 JSONObjects 
user = new JSONObject(); 
user.put("name", "name1"); 
user.put("Address", "B.E"); 
user_obj_one = new JSONObject(); 
user_obj_one.put("User1",user); 

//...same for User2... 
... 
user_obj_two = new JSONObject(); 
user_obj_two.put("User2",user_two); 

//put in final array : 
    jsonArray.put(user_obj_one); 
    jsonArray.put(user_obj_two); 
//....