2016-08-04 29 views
-2

這是來自服務器的JSON響應,現在我該如何反序列化它。如何使用GSON解析以下JSON響應

{ 
"posts": [ 
    { 
     "id": "1", 
     "fname": "yourFname1", 
     "lname": "yourLname1" 
    }, 
    { 
     "id": "2", 
     "fname": "yourFname2", 
     "lname": "yourLname2" 
    },   
    { 
     "id": "111", 
     "fname": "star", 
     "lname": "trek" 
    }, 
    { 
     "id": "111", 
     "fname": "star", 
     "lname": "trek" 
    } 
    ] 
} 
+2

的可能的複製[如何解析JSON在安卓(http://stackoverflow.com/questions/9605913/how-to-parse-json-in-android) – Shank

+0

我覺得你沒有看過我的問題仔細..我想解析json使用gson這不是重複的問題。理解? – Mike

回答

0

首先你需要一個JavaBean

public class OuterBean { 

    public ArrayList<InnerBean> posts; 

    public class InnerBean{ 

     public String id; 
     public String fname; 
     public String lname; 
    } 

} 

然後解析JSON調用parseJson(JSON的名稱);

private void parseJson(String result) { 
    Gson gson = new Gson(); 
    OuterBean outerBean = gson.fromJson(result, OuterBean.class); 
} 
+0

thnx .. u給出了正確的答案 – Mike

0

假設你JSON是String json

創建的JSONObjectJSONArray對象來解析JSON內容。

JSONObject jsonObject = new JSONObject(json); 
JSONArray jsonArray = jsonObject.getJSONArray("posts"); 
for(int i = 0; i<jsonArray.length(); i++) { 
    JSONObject ob = jsonArray.getJSONObject(i); 
    String id = ob.getString("id"); 
    String fname = ob.getString("fname"); 
    String lname = ob.getString("lname"); 
} 
+0

thnx .. itz也正確但沒有gson .. – Mike