首页 > 这段怎么改为相同格式的JSON?

这段怎么改为相同格式的JSON?

我在做echarts地图开发的迁途图,遇到个问题。

  1. 城市经纬度的JSON太多,我想单独引用一个JSON文件,格式方面不知道怎么转换,以下是原本在JS里面定义的:

var geoCoordMap = {
    '上海': [121.4648, 31.2891],
    '东莞': [113.8953, 22.901],
    '东营': [118.7073, 37.5513],
    '中山': [113.4229, 22.478],
    '临汾': [111.4783, 36.1615]
    ...
}

在控制台打印出来是这样子:

现在改为单独引用,以下是我写的geoCoordMap.json文件:

[{
  "上海": [121.4648, 31.2891]
}, {
  "东莞": [113.8953, 22.901]
}, {
  "东营": [118.7073, 37.5513]
}, {
  "中山": [113.4229, 22.478]
}, {
  "临汾": [111.4783, 36.1615]
}, {
  "临沂": [118.3118, 35.2936]
}]

打印出来是这样子:

求教!!


{"上海":[121.4648,31.2891],"东莞":[113.8953,22.901],"东营":[118.7073,37.5513],"中山":[113.4229,22.478],"临汾":[111.4783,36.1615]}

geoCoordMap.json:

{
  "上海": [121.4648, 31.2891],
  "东莞": [113.8953, 22.901],
  "东营": [118.7073, 37.5513],
  "中山": [113.4229, 22.478],
  "临汾": [111.4783, 36.1615],
  "临沂": [118.3118, 35.2936]
}

题主这个是geoCoordMap.json里的格式有误,题主想要的应该是城市的名字作为key,然后一个存放lat、lng的数组作为value。写法如下:

{
    "上海": [121.4648, 31.2891],
    "东莞": [113.8953, 22.901],
    "东营": [118.7073, 37.5513],
    "中山": [113.4229, 22.478],
    "临汾": [111.4783, 36.1615]
    ...
}

题主的写法相当于是,先有一个数组,数组里的元素是一个个对象。


不太了解你想表达什么,你可以试试直接单独一个js文件定义一个,再引入别的文件也能使用这个变量。

var geoCoordMap = {
    '上海': [121.4648, 31.2891],
    '东莞': [113.8953, 22.901],
    '东营': [118.7073, 37.5513],
    '中山': [113.4229, 22.478],
    '临汾': [111.4783, 36.1615]
    ...
}

而且你的这个json 。。。。

【热门文章】
【热门文章】