当我尝试将数组转换为 JSON 时,它转换完美,但在开始和结束端添加了\。 为什么?
//code
var myJSON = "";
var FinalResult = JSON.stringify(result);
myJSON = JSON.stringify({"result": FinalResult});
document.write(myJSON);
//Output like
{"result":"[\"How are you?\"]"}
//require
{"result":"["How are you?"]"}
最佳答案
这样做的原因是你做了两个 JSON.stringify
var FinalResult = JSON.stringify(result);
使字符串 ["How are you?"]
然后当你用 {"result": FinalResult}
创建一个对象时,你只需将字符串放在 result 属性中,然后当你
JSON.stringify({"result": FinalResult});
它将转义为 FinalResult 的字符串。
如果你这样做
JSON.stringify({"result": result});
您将得到 {"result":["How are you?"]}
然后您可以简单地解析回对象并使用包含数组的属性结果,否则就像您有现在您需要对其进行两次解析以恢复旧数据。
关于javascript - 为什么在 javascript 中将数组转换为 JSON 时添加开始和结束?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27419166/