使用NodeJS解析JSON时出现问题

时间:2015-03-25 07:02:10

标签: json node.js parsing

我正在阅读JSON文件并使用NodeJS解析它,JSON文件如下所示:

{
    "id": 5,
    "x": 9.996,
    "y": 0.135,
    "v": {
        "x1": 0.653,
        "y1": -0.064
    },
    "z": 1.4730991609821347
}, {
    ...
}

所以我可以轻松地将它放入一个变量JSON.parse()中,并且可以毫无问题地访问它:

var parsed = JSON.parse(jsonVar)
console.log(parsed.id) // prints 5

当我尝试从x1访问y1parsed.v时出现问题。它带有一个物体,它的表现非常奇怪。

我试过了:

 parsed.v.x1 // gave me an error, x1 doesn't exist

 var string = JSON.stringify(parsed.v) // returns {"x":0.653,"y":-0.064}

尝试解析上面的内容并访问它也会给我一个错误

var parsedNew = JSON.parse(string)
console.log(parsedNew.x) //error

我错过了什么吗?真的没想完了。

1 个答案:

答案 0 :(得分:2)

实际上,没有必要解析或做任何事情来访问数据,因为它 已经是一个javascript对象 ,尝试这样的事情:

var json = {
    "id": 5,
    "x": 9.996,
    "y": 0.135,
    "v": {
        "x1": 0.653,
        "y1": -0.064
    },
    "z": 1.4730991609821347
};

console.log(json.v.x1); // this will output '0.653'

顺便说一下,JSON.stringify()只是将输入转换为String,因此它并不是您真正需要的。

希望这有帮助!