Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/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
Javascript 转换json数组以用作google地图标记_Javascript_Arrays_Json_Multidimensional Array - Fatal编程技术网

Javascript 转换json数组以用作google地图标记

Javascript 转换json数组以用作google地图标记,javascript,arrays,json,multidimensional-array,Javascript,Arrays,Json,Multidimensional Array,我是一个新手,以我的方式工作,很高兴能得到所有我能想到的想法。我有一个外部系统发送给我这个json文件 [149.9900000,-33.8900000,“休谟高速公路,桌面”],[151.5400000,-33.0400000,“多拉河新港路”] 我不知道怎么才能把它转换成这样的东西 {"markers":[{"name":"Hume Hwy, Table Top","position":[149.9900000,-33.8900000],},{"name":"Newport Rd, Dora

我是一个新手,以我的方式工作,很高兴能得到所有我能想到的想法。我有一个外部系统发送给我这个json文件

[149.9900000,-33.8900000,“休谟高速公路,桌面”],[151.5400000,-33.0400000,“多拉河新港路”]

我不知道怎么才能把它转换成这样的东西

{"markers":[{"name":"Hume Hwy, Table Top","position":[149.9900000,-33.8900000],},{"name":"Newport Rd, Dora Creek","location":[151.5400000,-33.0400000]}}]}
这样我就可以在谷歌地图上消费

干杯
Nick

考虑到您的服务器发送正确的
JSON
结构,您可以使用
JSON.parse
在浏览器中通过执行
JSON.parse(response)
将字符串解析为对象

我假设你的服务器发送

“[[149.99,-33.89,\'Hume Hwy,Table Top\'],[151.54,-33.04,\'Newport Rd,Dora Creek\']””
这是一个多维正确的json响应

我们可以解析这个响应,然后将响应正确地映射到您所需的对象中,因此

  • 解析响应:
  • 转换为所需的结构:
  • 使用标记键将响应组合到对象中:
最后,
finalObject
包含您所需的结构,可用于谷歌地图


选中此项可查看一起运行的所有部件。

您可以从数组中提取单个值,并将其添加到所需的对象中。很抱歉,我也不知道如何操作。请您帮忙。好的,等等,我会写下您问题的答案。您的服务器是否发送字符串化json文件?这是一个正确的json结构,可以在客户端解析。运气不好,[149.9900000,-33.8900000,“Hume Hwy,Table Top”],[151.5400000,-33.0400000,“Newport Rd,Dora Creek”],[149.2300000,-34.4200000,“Olympic Hwy,Table Top”]
const parsedMarkerData=json.parse[mylocation]
console.log(parsedMarkerData);控制台显示未定义。我做错了什么?像这样的东西不起作用var mymarker=JSON.stringify(mylocation);const parsedMarkerData=JSON.parse[mymarker]console.log(parsedMarkerData)
Json.parse[]
是否使用方括号而不是
Json.parse()
,括号?const parsedMarkerData=Json.parse[mylocation];我已将json更改为{“位置”:[149.9900000,-33.8900000],“事件”:“休谟高速公路,桌面”}
const parsedMarkerData = JSON.parse("[[149.99,-33.89,\"Hume Hwy, Table Top\"],[151.54,-33.04,\"Newport Rd, Dora Creek\"]]");
const markers = [];
for(const marker of parsedMarkerData){
  // destructuring the array
  const [x, y, name] = marker;
  // putting into object
  markers.push({
    name, position: [x, y]
  });
}
const finalObject = { markers };