目前正在尝试将数据从JSON提取到我的SelectBox。
这里我展示了它的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中有这个方法吗?
答案 0 :(得分:0)
我想你的解析对象是这样的:
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]
访问原始对象。