将JSON字符串转换为JavaScript数组

Translate a JSON string to a JavaScript array

本文关键字:JavaScript 数组 转换 JSON 字符串      更新时间:2023-09-26

我有大量(235)的JSON字符串如下:

"57": {
    "ID": 6986,
    "Town": "Paris",
    "latitude": 48.8829447,
    "longitude": 2.3453532999999
},
"58": {
    "ID": 6987,
    "Town": "Paris",
    "latitude": 48.8749566,
    "longitude": 2.3588815000001
}

我想做一个JavaScript数组。我在网上读了很多关于它的帖子,但它们似乎都不适合我的情况。我该怎么办?

您可以使用JSON.parse()

var javascriptObject = JSON.parse(jsonString);

在旧的浏览器中,你需要包含json2.js库:

下载链接

你发布的JSON有点坏了,看着它,我假设它应该是一个包含对象属性的对象:

{
    "57": {
            "ID": 6986,
            "Town": "Paris",
            "latitude": 48.8829447,
            "longitude": 2.3453532999999
    },
    "58": {
            "ID": 6987,
            "Town": "Paris",
            "latitude": 48.8749566,
            "longitude": 2.3588815000001
    }
}

假设这样,您首先需要使用JSON.parse将其转换为JS对象:

var obj = JSON.parse(jsonString);

然后你需要把这个对象变成一个数组:

var i,
  arr = [];
for (i in obj) {
  if (obj.hasOwnProperty(i)) {
    arr.push(obj[i]);
  }
};
// arr now contains the array you were trying to get