Javascript:JSON.stringify 未按预期工作

标签 javascript json stringify

我正在从维基百科中提取 JSON 数据。但是,我不能让它整齐地进行字符串化,我不明白为什么。

这是我的代码。

request({url:formQuery(query), encoding:"utf8"}, (err, res, body) => {
    if (err) handleErr(err)
    console.log(JSON.stringify(body, null, 3))
})

如果我只使用普通的 console.log(body),JSON 输出如下:

{"continue":{"rvcontinue":"20160314150329|710029514","continue":"||"},"query":{"normalized":[{ ...

但是如果我使用 stringify(如上),它看起来像这样:

"{\"continue\":{\"rvcontinue\":\"20160314150329|710029514\",\"continue\":\"||\"},\"query\":{\"normalized\":[{ ...

Stringify 在字符串的开头添加引号并转义后续引号。

为什么会这样?欢迎任何帮助。

最佳答案

您的 JSON 数据没有问题,函数将斜杠添加到输出中,因为输入中有引号。不必转义属性名称周围的引号以避免在解析 JSON 字符串/输出时发生冲突

关于Javascript:JSON.stringify 未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36689980/

相关文章:

javascript - 这个窗口 ["obvInit"] ({...}) 在脚本中做什么?

javascript - 有谁知道 JavaScript 中原始的 JSON.stringify() 函数?

javascript - Tensorflowjs 在训练时产生形状错误

javascript - 如何强制 jQuery 不自动关闭标签?

java - 如何将 Json 数组存储到 Java ArrayList 中?

javascript - 字符串化已经四舍五入的 float 然后将其转换回数字会产生进一步的精度误差吗?

javascript - 使用 JSON.stringify() 时如何忽略 .toJSON 函数?

javascript - VueJS : Working with v-class

使用 android ActionView Intent 打开时,Javascript 重定向在 Edge 浏览器中不起作用,但在手动重新加载后工作

java - java中的xml到json转换问题,第一个前导零从字符串中丢弃