如何使用GSON解析json

时间:2014-01-20 05:51:55

标签: java json gson

以下是我从外部服务获得的json响应。

{"userAttributeList": [  
    {"Name":"PROFILE.UUID","Value":”SL1-4XXXXX0"},  
    {"Name":"PROFILE.UserId","Value":"John.Smith@bigBank.com"},  
    {"Name":"PROFILE.FirstName","Value":"John"},  
    {"Name":"PROFILE.LastName","Value":"Smith"},  
    {"Name":"PROFILE.EmailAddress","Value":"John.Smith@bigBank.com"},  
    {"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"}  
]}  

我仍然试图将这个数字反序列化。它不是形式。任何人都可以提出一个方法来解决这个问题。

2 个答案:

答案 0 :(得分:5)

看起来你的角色无效:

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

我建议a)替换“with”和b)弄清楚你为什么要这样做。

提示:如果您不确定JSON有什么问题,请查看JSONLint

答案 1 :(得分: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();
}