我正在阅读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
访问y1
或parsed.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
我错过了什么吗?真的没想完了。
答案 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
,因此它并不是您真正需要的。
希望这有帮助!