我有一个复杂的对象,它作为字符串存储在文本文件中
这是我从文本文件中读取的数据
[
{
name: "V",
number: 20,
coords: {
"cn": {
points: [
[23,32,32],
[32,32,32]
],
B: "VC",
label: "ds"
}
}
}]
我想将其转换为JSON字符串 注意: - 我不能使用eval函数 我试过这个JSON.stringify,但我得到了这个输出: -
" [\r\n {\r\n name: \"V\",\r\n number: 20,\r\n coords: {\r\n \"cn\": { \r\n points: [\r\n [23,32,32],\r\n [32,32,32]\r\n ], \r\n B: \"VC\", \r\n label: \"ds\"\r\n }\r\n }\r\n }]"
答案 0 :(得分:2)
您可以结合使用 eval()
和 JSON.stringify()
。 eval()
会将其转换为有效的JavaScript对象,现在您可以使用 JSON.stringify()
将其转换为JSON字符串。
var str='[\
{\
name: "V",\
number: 20,\
coords: {\
"cn": { \
points: [\
[23,32,32],\
[32,32,32]\
], \
B: "VC", \
label: "ds"\
}\
}\
}]';
document.write(JSON.stringify(eval(str)));

答案 1 :(得分:1)
我不知道原因!将object-form-string转换为JSON-string 但这很简单:
newData
享受,不要使用eval()
答案 2 :(得分:0)
如果它已经存储为字符串,是不是已经在JSON中了?你不应该再转换它了。这就是\ r和\ n出现的原因。你不应该再转换它了。