javascript - 为什么在 javascript 中将数组转换为 JSON 时添加开始和结束?

标签 javascript json

当我尝试将数组转换为 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/

相关文章:

javascript - 从 Angular 中的 url 获取参数

json - 如何将JSON转换为angular2中的查询字符串?

python - 解析嵌套的 JSON 数据

java - 使用 Java 的 Http 流

javascript - 访问 php base_url 中的 Javascript 变量

javascript - 使用谷歌地图 v2 的侧边栏和选项卡式信息窗口

javascript - 解构嵌套对象

javascript - 如何在javascript中限制直接url文件名?

php - 匹配 MySQL JSON 列的全部内容

javascript - 是否可以使用 PHP 在客户端执行外部 URL 并获取 JSON 响应?