2011-09-12 556 views
3

我想創建一個複雜的嵌套的對象是這樣的:創建一個嵌套的JSON對象

{ 
    "user":{ 
     "type":"facebook", 
     "first_name":"harsha", 
     "last_name":"mv", 
     "gender":"male" 
    }, 
    "friends":[ 
     { 
     "id":"23", 
     "name":"Vachana" 
     }, 
     { 
     "id":"23", 
     "name":"Jyosna" 
     }, 
     { 
     "id":"23", 
     "name":"Avinash" 
     } 
    ] 
} 

Android的Java代碼:

JSONObject user = new JSONObject(); 
    try { 
     user.put("first_name", "harsha"); 
     user.put("last_name", "mv"); 
     user.put("gender", "mail"); 

     System.out.println(user); 
    } catch (JSONException e1) { 
     e1.printStackTrace(); 
    } 

我要嵌套的其他對象,如上圖所示。有人能告訴我我該怎麼做嗎?我需要使用什麼功能或格式?

回答

9

'朋友'是JSONArray,其每個項目是JSONObject。只需使用JSONObjectJSONArray即可。對於數組,您還必須指定索引。

1

我正在切換的主題,但堅持讓你使用Gson,因爲它在一個類運行時的getter/setter保持所有元素

1

使用此JSON JAR文件的自動設置,並得到根據值標記名(例如:名字,姓氏等) 下載jar文件的使用從貝盧鏈接獲得

Android json jar file

1

GSON是最適合這個,用GSON可以使用普通班java和轉彎他們JSON對象,這裏是一個示例:

public class Member 
{  
public String ID; 
public String FirstName;  
public String LastName;  
public String Email;  
public String DisplayName ; 
public String DOB;  
public String AboutMe; 
public String MemberType; 
public String UserTypeName; 

} 

initiate Member class and fill in the values 
Member member = new Member(); 
member.ID = "1"; 
....... 

//now use GSON to get the JSON 

Gson gson = new Gson(); 
String JSONString = gson.toJson(member); 

更多檢查這個http://code.google.com/p/google-gson/

+0

這是怎麼套? – ben26941

2

結帳這些JSON編碼的例子,這樣你就可以通過輕鬆地管理它。

JSON Encoding

+1

偉大的教程... Thnx .. – CoderDecoder

5

中有JSONObject的

put(String string, Object value) 

一個函數,在JSONArray,其中你可以把它的JSONObject的數組。我想象你的「朋友」類可以生成放入列表中的JSONObject。

如果你想嵌套JSON對象,那麼你可以使用下面的代碼
0

  JSONObject objFirst = new JSONObject(); 
      objFirst.put("description", "ADBCD"); 
      objFirst.put("type", "TEXT"); 


      JSONObject objSecond = new JSONObject(); 
      objSecond.put("askjdhasjk", "XYZ"); 

      objFirst.accumulate("This Nw", objSecond);