使用jQuery从JSON获取数据

时间:2013-05-13 12:35:39

标签: jquery xml json

目前正在尝试将数据从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中有这个方法吗?

1 个答案:

答案 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]访问原始对象。