首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSONObject中的JSONObject

JSONObject中的JSONObject
EN

Stack Overflow用户
提问于 2012-08-02 23:40:25
回答 3查看 40.4K关注 0票数 12

我有一个如下的API输出:

代码语言:javascript
复制
{"user" : {"status" : {"stat1" : "54", "stats2" : "87"}}}

我用这个接口创建了一个简单的JSONObject

代码语言:javascript
复制
JSONObject json = getJSONfromURL(URL);

在此之后,我可以像这样读取用户的数据:

代码语言:javascript
复制
String user = json.getString("user");

但是如何获取stat1stat2的数据呢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-08-02 23:43:21

JSONObject使用JSONObject.getJSONObject(String)JSONObject.getJSONArray(String)为许多不同的数据类型提供访问器,包括嵌套的JSONObjectsJSONArrays

对于您的JSON,您需要执行以下操作:

代码语言:javascript
复制
JSONObject json = getJSONfromURL(URL);
JSONObject user = json.getJSONObject("user");
JSONObject status = user.getJSONObject("status");
int stat1 = status.getInt("stat1");

注意这里缺少错误处理:例如,代码假定存在嵌套成员-您应该检查null -并且没有异常处理。

票数 27
EN

Stack Overflow用户

发布于 2013-02-07 14:29:09

代码语言:javascript
复制
JSONObject mJsonObject = new JSONObject(response);
JSONObject userJObject = mJsonObject.getJSONObject("user");
JSONObject statusJObject = userJObject.getJSONObject("status");
String stat1 = statusJObject.getInt("stat1");
String stats2 = statusJObject.getInt("stats2");

根据您的响应, status是对象,因此对于use getJSONObject stat1和stats2,E210是E111状态E212对象键,因此对于该对象键,使用E113获取整数值的方法和使用E115获取字符串值的方法获取字符串值。

票数 2
EN

Stack Overflow用户

发布于 2012-08-02 23:44:10

要访问JSON中的属性,可以使用JSON.parse解析对象,然后访问所需的属性,如下所示:

代码语言:javascript
复制
var star1 = user.stat1;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11781075

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档