使用纯JS获取Json Array

我想从跨域获取JSON数组而不使用JQuery。来自跨域的数据是这样的:

{

"transactionid": "LBS_48550801",

"status": 0,

"countrylist":

[

{ "id": 1, "name": "France", "latitude": 37.00039, "longitude": 35.31411, "extent": { "minlatitude": 36.53888499, "minlongitude": 34.76786904, "maxlatitude": 38.37851496, "maxlongitude": 36.40534884 }},

{ "id": 2, "name": "Germany", "latitude": 37.76454, "longitude": 38.27645, "extent": { "minlatitude": 37.40771898, "minlongitude": 37.43326512, "maxlatitude": 38.21203404, "maxlongitude": 39.24767592 } },

//... .... ....

//... .... ....

//... .... ....

{ "id": 98, "name": "Belgium", "latitude": 38.75754, "longitude": 30.5387, "extent": { "minlatitude": 37.78126803, "minlongitude": 29.68963308, "maxlatitude": 39.27915099, "maxlongitude": 31.71549708 } },

{ "id": 99, "name": "England", "latitude": 39.71812, "longitude": 43.03345, "extent": { "minlatitude": 38.96877501, "minlongitude": 42.28340184, "maxlatitude": 40.031208, "maxlongitude": 44.61092892 } },

]

}

获取数据后,我需要解析它以获得“国家列表”列表。

我搜索了解决此问题的方法,但所有示例均使用JQuery。我不想使用它。如您所见,我在输入中包含transactionid和status参数。因此,在导入数据之后,我需要对其进行解析以获取countrylist数组。我知道如何解析它,但是我无法从服务中获取全部数据。

我需要通过Javascript方法获取数据。服务器支持很好地检索数据。

要采取的步骤是:

1-获取全部数据(这是我遇到的问题)

2-将其解析为Json对象(我​​知道如何解析数据)

如何在不使用任何JQuery或其他准备好的库的情况下获取全部数据?

回答:

您可以将XMLHttpRequest用于ajax和JSON.parse用于解析json :)

var xmlhttp = new XMLHttpRequest();

xmlhttp.open('GET', '//example.org', true);

xmlhttp.onreadystatechange = function() {

if (xmlhttp.readyState == 4) {

if(xmlhttp.status == 200) {

var obj = JSON.parse(xmlhttp.responseText);

var countryList = obj.countrylist;

}

}

};

xmlhttp.send(null);

您永远不要使用eval!评估是邪恶的!您可以在mdn上阅读

如果没有CORS标头,则可以使用JSONP。只需添加&callback=getJSONP到您的URL。在jsfiddle上尝试:http

//jsfiddle.net/VmBF7/3/

以上是 使用纯JS获取Json Array 的全部内容, 来源链接: utcz.com/qa/429926.html

回到顶部