我试图在用户成功登录后获取数据,但我从未得到任何结果,我接下来要做的是:
// response is my request to server
JSONObject obj = new JSONObject(response);
Log.d("RESPONSE",obj.toString());
所以在日志中我确实看到了值,例如:
04-19 11:28:16.729: D/RESPONSE(3162): {"data":[{"loses":3,"username":"benedict","level":1,"strength":15,"experience":null,"gold":10,"password":"benedict","intelligence":5,"agility":10,"wins":5}],"status":true}
但是一旦我尝试像这样读取用户名:
String username = obj.getString("username");
上面的代码 ^ 在我的字符串中没有任何内容.. 对如何从 JSONObject 检索数据有帮助吗?谢谢!
最佳答案
那是因为 username
存在于 data
对象中,它恰好是一个 JSONArray
。从response对象中获取data
数组,遍历数组中的每一个JSONObject
,从每个对象中,提取出你的username
.
像这样:-
JSONObject obj = new JSONObject(response);
JSONArray data = obj.getJSONArray("data");
for(int i=0;i<data.length();i++){
JSONObject eachData = data.getJSONObject(i);
System.out.println("Username= "+ eachData.getString("username"));
}
关于android - 从 JSON 对象获取值的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16101320/