使用jQuery从JSON获取数据
问题描述:
当前我试图从JSON获取数据到我的SelectBox。使用jQuery从JSON获取数据
我在这里展示其XML格式,但实际的数据会以JSON格式:
<1>
<book_able>0</book_able>
<CODE>AF</CODE>
<NAME>Afghanistan</NAME>
</1>
<2>
<book_able>1</book_able>
<CODE>AL</CODE>
<NAME>Albanie</NAME>
</2>
<3>
<book_able>1</book_able>
<CODE>DZ</CODE>
<NAME>Algerie</NAME>
</3>
<6>
<book_able>1</book_able>
<CODE>AS</CODE>
<NAME>Samoa Americaines</NAME>
</6>
这里的数字表示该国的秩序。但数字没有正确排列。
例如:在<1>
之后的下一个数字是<198>
,因此很难使用循环获取。有没有在jQuery和JSON中的这种方法?
答
我想你的分析对象是这样的:
var obj = {
"1": { book_able:0, code:"AF", name:"Afghanistan"},
"2": {
...
}
,没有理由的钥匙是“有序”:给人的JavaScript对象方面关键的迭代顺序没有保证。
然后你可以将此地图改变这样一个真正的数组:
var arr = [];
for (var i=1;; i++) {
if (!obj[i]) break;
arr[i] = obj[i];
}
请注意,您主要是由这样获得length
,你还可以使用obj[i]
访问原始对象。
您为我们提供了“易于理解”的XML格式的JSON吗? – 2013-05-13 12:37:07
请通过添加实际的JSON让我更难理解 – devnull69 2013-05-13 12:37:52
您不应该使用循环来通过编号获取数据。由于数字是每个JSON项目的关键,所以您应该可以编写'myJSONString.198'或'myJSONString [198]' – jbabey 2013-05-13 12:42:56