【问题标题】:Can I get value from JSONObject without mention its name?我可以从 JSONObject 获取价值而不提及其名称吗?
【发布时间】:2012-05-05 06:53:51
【问题描述】:

我的 JSON 对象:

{MyJSON:[{"id":"1","name":"panji","price":"100"}]}

我这样做是为了获取 id 的值:

menuitemArray.getJSONObject(i).getString("id");

我可以得到id、name 或price 的值,而不提它的名字,可能像index 或其他方法?

【问题讨论】:

  • 提名字有什么问题?您是否面临这方面的问题?

标签: java json org.json


【解决方案1】:

您可以在JSONObject 上调用names() 以获取其元素名称的JSONArray - 这可以让您对它们进行逻辑处理或动态检索它们的对应值。

【讨论】:

  • 感谢您的回答。从来不知道JSONObject 有一个names 方法,我一直在浪费时间尝试使用Iterator
  • 404 未找到
【解决方案2】:

你可以像这样获取 JSONObject 的所有属性

for(Iteraor key=jsonObject.keys();itr.hasNext();) {
   jsonObject.get(key.next());
}

【讨论】:

  • 我不确定您是否可以将 Iterator 与 for-each 语法一起使用,尽管这很烦人。 AFAIK 它仅适用于 Iterables 和数组。
【解决方案3】:
JSONObject obj = new JSONObject(json);
for(Iterator<String> keys=obj.keys();keys.hasNext();) {
    obj.get(keys.next());
}

【讨论】:

  • 你能解释一下它是如何回答这个问题的吗?
猜你喜欢
  • 2011-07-30
  • 2013-11-07
  • 2014-03-06
  • 1970-01-01
  • 2012-04-13
  • 1970-01-01
  • 2011-07-30
  • 2023-03-16
  • 1970-01-01
相关资源
最近更新 更多