2014-01-20 88 views
1

下面是我從外部服務獲得的json響應。如何使用GSON解析json

{"userAttributeList": [ 
    {"Name":"PROFILE.UUID","Value":」SL1-4XXXXX0"}, 
    {"Name":"PROFILE.UserId","Value":"[email protected]"}, 
    {"Name":"PROFILE.FirstName","Value":"John"}, 
    {"Name":"PROFILE.LastName","Value":"Smith"}, 
    {"Name":"PROFILE.EmailAddress","Value":"[email protected]"}, 
    {"Name":"SETTING.COMMON.REGIONAL_SETTINGS.DATEFORMAT_DATEPATTERN","Value":"dddd d MMMM yyyy"}, 
    {"Name":"SETTING.COMMON.REGIONAL_SETTINGS.DATEFORMAT_TIMEPATTERN","Value":"HH:mm:ss"}, 
    {"Name":"SETTING.COMMON.REGIONAL_SETTINGS.DATEFORMAT_TIMEZONE","Value":"Romance Standard Time"} 
]} 

我是stil試圖找出一個反序列化的方法。它不是也不是形式。任何人都可以提出一個方法來解決這個問題。

回答

1
try { 
    JSONArray response=new JSONArray(jsonstring); 
    for (int i = 0; i < response.length(); i++) { 
     JSONObject data=response.getJSONObject(i); 
     String name=data.getString("Name"); 
     String values=data.getString("Values"); 
     //perform operation on name and values 
    } 
} catch (JSONException e1) { 
    // TODO Auto-generated catch block 
    e1.printStackTrace(); 
} 
+2

你知道在哪兒包'Gson'華里。 brass'JSONArray'被放置在? – Pshemo

+0

org.json.JSONObject –

+0

但是OP詢問'Gson'庫(來自google的那個庫)。 – Pshemo

5

它看起來像你在這裏無效字符:

"Value": 」SL1-4XXXXX0"} 
     ^

我建議「改爲「)更換和b)弄清楚爲什麼你要在首位

。提示:如果你不知道什麼地方錯了你的JSON,檢查出JSONLint

+1

+1的鏈接 – Keppil

+0

謝謝ggmathur –