Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用jQuery从JSON获取数据_Jquery_Xml_Json - Fatal编程技术网

使用jQuery从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> <

目前,我正在尝试从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>
这里的数字表示国家的顺序。但是数字的顺序不正确


例如:在
之后,下一个数字是
,因此很难使用循环提取。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]