我的服务器发送到客户端的响应,JSON数组
["{"lat":27.4924,"lon":77.6737}", "{"lat":27.4924,"lon":77.6737}"]
首先,我需要更换与LNG LON属性(导致谷歌地图API不接受LON作定语),然后我需要删除外部双引号对数组的每个元素。我有点有点混乱,我不知道该怎么PROCEDE,
导致JSON.parse抛出一个错误(意外令牌JSON.parse)。
我不想代码,任何建议将不胜感激。谢谢
这是我的服务器要求对API
function request (array){
let risposte = [];
for (i=0; i<array.length;i++){
var Http = new XMLHttpRequest();
var url = "http://ip-api.com/json/" + array[i]+"?fields=lat,lon";
Http.onreadystatechange = function () {
if (Http.readyState ==4){
if(Http.status == 200){
console.log("qui" + i);
console.log("Risposta" + Http.responseText);
risposte.push(Http.responseText);
}
if (Http.status==400){
console.log("servizio momoentanamente non disponibile ");
}
}
};
Http.open("GET",url,false);
Http.send();
}
console.log("finito");
return risposte;
}
我建议在不修改字符串,因为它是,但它的解析 - 从你创建JSON解析值(上面注释)。或者,对于一个肮脏的解决方案,你可以只删除所有的报价,并做一个字符串替换 - 这将是有效的JSON:
var cleaned = yourJson.Replace("\"", string.Empty).Replace("lon", "lng");
但是,这只是觉得我错了!