转换适用于谷歌地图API JSON响应

问题描述 投票:-1回答:1

我的服务器发送到客户端的响应,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;
}
javascript google-maps
1个回答
0
投票

我建议在不修改字符串,因为它是,但它的解析 - 从你创建JSON解析值(上面注释)。或者,对于一个肮脏的解决方案,你可以只删除所有的报价,并做一个字符串替换 - 这将是有效的JSON:

var cleaned = yourJson.Replace("\"", string.Empty).Replace("lon", "lng");

但是,这只是觉得我错了!

© www.soinside.com 2019 - 2024. All rights reserved.