1

目前我正在尝试从 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 中有这样的方法吗?

4

1 回答 1

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通过这样做获得 a,因为您还可以使用obj[i].

于 2013-05-13T12:40:07.517 回答