我有一个来自服务器的JSON字符串,它看起来像这样:
{
"categories": {
"0": {
"term_id": "247",
"name": "Content Curation"
},
"1": {
"term_id": "50",
"name": "Content Marketing"
},
"2": {
"term_id": "2",
"name": "Curation"
},
"3": {
"term_id": "246",
"name": "Inbound Marketing"
},
"4": {
"term_id": "47",
"name": "Marketing"
},
"5": {
"term_id": "4",
"name": "News Curation"
},
"6": {
"term_id": "36",
"name": "SEO"
},
"8": {
"term_id": "248",
"name": "Wordpress Content Curation"
}
}
}
我的任务是获取“ term_id”和“ name”字段的值。我曾经使用以下代码从当前JSONObject中获取“类别”对象:
JSONObject jObject = new JSONObject(responceData);
JSONObject categoryObject = jObject.getJSONObject("categories");
JSONArray jarray = new JSONArray("["+categoryObject.toString().substring(1,categoryObject.toString().length() - 1) + "]");
for(int i=0;i<jarray.length();i++)
{
JSONObject jobj = jarray.getJSONObject(i);
String term_id=jobj.getString("term_id");
String name=jobj.getString("name");
}
和categoryObject
看起来像这样:
{
"0": {
"term_id": "247",
"name": "Content Curation"
},
"1": {
"term_id": "50",
"name": "Content Marketing"
},
"2": {
"term_id": "2",
"name": "Curation"
},
"3": {
"term_id": "246",
"name": "Inbound Marketing"
},
"4": {
"term_id": "47",
"name": "Marketing"
},
"5": {
"term_id": "4",
"name": "News Curation"
},
"6": {
"term_id": "36",
"name": "SEO"
},
"8": {
"term_id": "248",
"name": "Wordpress Content Curation"
}
}
但是在那之后,我不知道如何获得这些领域。有什么方法可以从JSONObject获取所有JSONObject子级吗?
如果您有源代码或可以举一个例子,请与我分享。
在这里,您可以检索所有json数据,询问特定的键和innerKey以获取所需的内容,干杯
try
{
String jsonString="";//your json string here
JSONObject jObject= new JSONObject(jsonString).getJSONObject("categories");
Iterator<String> keys = jObject.keys();
while( keys.hasNext() )
{
String key = keys.next();
Log.v("**********", "**********");
Log.v("category key", key);
JSONObject innerJObject = jObject.getJSONObject(key);
Iterator<String> innerKeys = innerJObject.keys();
while( innerKeys.hasNext() )
{
String innerKkey = keys.next();
String value = innerJObject.getString(innerKkey);
Log.v("key = "+key, "value = "+value);
}
}
}
catch (JSONException e)
{ e.printStackTrace(); }
问题内容: 我从两个不同的来源使用了一些JSON,最后得到两个s,我想将它们组合为一个。 数据: 使用http://json.org/java/库的代码: 因此,在这种情况下,我想将和组合在一起,以制作一个全新的产品或彼此结合。除了将它们拉开并分别加s 之外,还有其他想法吗? 问题答案: 如果要使用两个键Object1和Object2创建新对象,则可以执行以下操作: 如果要合并它们,例如顶级对象有
问题内容: 这是我的第一篇文章。作为一名崭新的Android开发人员,我几乎每天都阅读有关各种主题的SO帖子,但是对于这个问题,我没有从Google或SO那里获得任何帮助。 到目前为止,我的研究是: 搜索这个问题比平常要困难,因为搜索引擎似乎并不关心区分大小写,这在此问题中至关重要。搜索Google只会给我指向类本身,旧文章或完全不相关的文章的链接。我得到的最接近的是JSONArray vsJSO
问题内容: 我在将json解析到我的android应用中时遇到了一些问题。 这是我的json文件的样子: 如您所见,这种结构有点奇怪。我不知道如何在我的应用程序中读取该数据。我注意到那些都是对象而不是数组:/ 问题答案: 更新2018 5年后,在Android上解析json有了新的“标准”。它被称为moshi,人们可以认为它是GSON 2.0。它非常相似,但已修复了设计错误,这是您开始使用它时遇到
我有以下JSONObject: 我对使用JSON非常陌生。我需要的是JSON对象数组,每个键都是Question5、Question4等,这些值就是答案。你能帮忙吗?
这是我的第一个帖子。作为一名初出茅庐的Android开发者,我几乎每天都在阅读各种主题的SO帖子,但对于这个问题,我没有从谷歌那里找到任何帮助。 我到目前为止的研究: 搜索这个问题比正常情况要难,因为搜索引擎似乎不关心大小写敏感性,而大小写敏感性在这个问题中是至关重要的。搜索谷歌只给了我类本身的链接,旧文章,或者完全不相关的文章。我得到的最接近的是JSONArray和JSONObject,这是一个
问题内容: 我有一个与数据库对话的servlet,然后返回一个有序(按时间排序)对象的列表。在servlet部分,我有 从日志中,我可以看到数据库以正确的顺序返回了User对象。 在前端,我有 但是顺序改变了。 我只在返回的列表很大(超过130个用户)时才注意到这一点。 我尝试使用Firebug进行调试,Firebug中的“响应选项卡”显示列表的顺序与servlet中的日志不同。 我做错了什么吗?