【发布时间】:2011-02-02 09:36:55
【问题描述】:
您好,我想创建一个 JSON 数组。
我尝试过使用:
JSONArray jArray = new JSONArray();
while(itr.hasNext()){
int objId = itr.next();
jArray.put(objId, odao.getObjectName(objId));
}
results = jArray.toString();
注意:odao.getObjectName(objId) 根据称为 objId 的“对象 ID”检索名称。
但是我得到了一个看起来很有趣的数组
[null,null,null,"SomeValue",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"AnotherValue",null,null,null,null,null,null,null,null,null,null,"SomethingElse","AnotherOne","LastOne"]
当我使用jQuery 检索它时,只显示“LastOne”。
数组应该看起来像
{["3":"SomeValue"],["40":"AnotherValue"],["23":"SomethingElse"],["9":"AnotherOne"],["1":"最后一个"]}
由于某种原因,这些数字根本没有显示在我得到的数组中。
【问题讨论】:
-
你有一个 JSON 数组的 JSON 对象?
-
无论你得到什么,它都不应该是那样的。数组是 [foo,bar,baz] 而对象是 { "foo": "value", "bar": "value", "baz": "value" }。您似乎对您的 {} 和 [] 感到困惑。
-
谢谢大家,我从每个答案中都得到了一些东西。最后,我意识到我的问题并没有完全按照应有的方式表达,但是您的回答解决了我的问题。