2

我有这段代码:

JSONArray data = object.getJSONArray("Test");

for (int i = 0; i < data.length(); i++)
{
    JSONObject dataObject = data.getJSONObject(i);
    etc ...

我不知道在运行之前我将在 dataObject 中拥有什么。是否有可能以某种方式循环键?

我认为这可能有效,正如我在另一篇 Stackoverflow 文章中看到的那样:

for (String key : dataObject.keys())

但我收到一条错误消息“只能迭代数组或 java.lang.Iterable 的实例”

有谁知道怎么做?

4

4 回答 4

4

要检索对象的键,这可能有效:

Iterator<?> iterator = object.keys();
while (iterator.hasNext()) {
   String key = (String)iterator.next();
   //do what you want with the key.                 
}  
于 2013-10-28T08:40:59.773 回答
0
JSONArray names()
Returns an array containing the string names in this object.

http://developer.android.com/reference/org/json/JSONObject.html

于 2013-10-28T08:30:53.167 回答
0

我希望这个能帮上忙

Object obj = parser.parse(s);
JSONArray array = (JSONArray)obj;

请参考以下链接

http://json.org/java/

http://www.tutorialspoint.com/json/json_java_example.htm

于 2013-10-28T08:32:07.797 回答
0

我猜

迭代器键 = json.keys();

这将为您提供 json 对象的键作为 java 迭代器

如何迭代 JSONObject 以获取单个项目

这将为您提供以迭代方式获取键和值的想法,并帮助您根据需要实施

于 2013-10-28T08:39:46.163 回答