在Android中将JSON转换为字符串

时间:2014-12-29 10:59:17

标签: android json email

我正在尝试使用people.get获取用户详细信息,其中我收到了我需要的电子邮件。

这就是我的意思:

enter image description here

这就是我试图做但却无法获得价值的方法

try {
            String resp =profile.getEmails().toString();
            JSONObject mainObject = new JSONObject(resp);
            JSONObject uniObject = mainObject.getJSONObject("emails");
            String  email = uniObject.getString("value");
            ((TextView) findViewById(R.id.txtemail)).setText(email);
        } catch (JSONException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
    }

感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

在您的JSON回复中,emailsJSONArray,而不是JSONObject。你需要得到这样的结果:

JSONObject json= new JSONObject(responseString);  //your response
try {
    JSONArray responseArray = jsonObj.getJSONArray("email");
    for (int i = 0; i < responseArray.length(); i++) {
        // get value with the NODE key
        JSONObject obj = responseArray.getJSONObject(i);
        String lastName =  obj.getString("value");
        String firstName =  obj.getString("type");
        EmailResponse myResp = new EmailResponse();
        myResp.setValue(value);
        myResp.setType(type);
        //set all other Strings
        //lastly add this object to ArrayList<MyResponse> So you can access all data after saving
    }

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

POJO班级:

public class EmailResponse{
    public String value = "";
    public String type = "";
    //getter setters
}

希望这有帮助。