使用jQuery从JSON获取数据
目前,我正在尝试从JSON获取数据到我的SelectBox 这里我展示了它的XML格式,但实际数据将采用JSON格式:使用jQuery从JSON获取数据,jquery,xml,json,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> <
<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>
这里的数字表示国家的顺序。但是数字的顺序不正确
例如:在
之后,下一个数字是
,因此很难使用循环提取。jQuery和JSON中有这样的方法吗?我想您解析的对象是这样的:
var obj = {
"1": { book_able:0, code:"AF", name:"Afghanistan"},
"2": {
...
}
var arr = [];
for (var i=1;; i++) {
if (!obj[i]) break;
arr[i] = obj[i];
}
没有理由让键“有序”:JavaScript对对象键迭代顺序没有任何保证
然后您可以将此贴图更改为实际数组,如下所示:
var obj = {
"1": { book_able:0, code:"AF", name:"Afghanistan"},
"2": {
...
}
var arr = [];
for (var i=1;; i++) {
if (!obj[i]) break;
arr[i] = obj[i];
}
请注意,通过这样做,您将主要获得
长度
,因为您还可以使用obj[i]
访问原始对象。您为我们提供了XML格式的JSON以便“易于理解”?请通过添加实际的JSONY使我更难理解您不应该使用循环来按数字获取数据。因为数字是每个JSON项的键,所以您应该能够编写myJSONString.198
或myJSONString[198]