我正在尝试使用people.get获取用户详细信息,其中我收到了我需要的电子邮件。
这就是我的意思:
这就是我试图做但却无法获得价值的方法
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();
}
感谢任何帮助。
答案 0 :(得分:1)
在您的JSON回复中,emails
是JSONArray
,而不是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
}
希望这有帮助。