gpt4 book ai didi

javascript - 纯JS获取Json数组

转载 作者:数据小太阳 更新时间:2023-10-29 04:08:09 24 4
gpt4 key购买 nike

我想在不使用 JQuery 的情况下从跨域获取 JSON 数组。跨域过来的数据是这样的:

{
"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 } },
]
}

获取数据后,我需要对其进行解析以获取“countrylist”列表。

我搜索了解决此问题的方法,但示例均使用 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/

关于javascript - 纯JS获取Json数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20743186/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com