![](/img/trans.png)
[英]JSON.parse(JSON.stringify(e)) converts object to a string
[英]Confused with json object and string and JSON.parse and JSON.stringify
我正在使用node.js来处理ajax请求并返回一个对象。
如果我使用res.json(obj);
,然后得到一个string
,并且可以使用JSON.parse(string)
将其转换为对象,一切都很好。
但是,如果我使用res.json(JSON.stringify(obj))
,我也可以获得一个string
,但是JSON.parse(string)
不会将其转换为对象。
这两个string
什么区别? 它们的内容看起来相同。 我正在使用typeof()
进行检查。
因此res.json
使用JSON.stringify(请参见第242行),但是它通过指定自己的json replacer
和json spaces
来进行自己的编辑。
这都是JSON.stringify
可以用来改变JSON字符串化方式的东西。 在更深入地研究之后,似乎默认情况下未设置json spaces
和json replacer
器,因此Express会简单地进行设置,以便如果在您的应用程序设置中设置了它们,它将拉出它们并确保您的JSON响应正确匹配。
它还执行一些操作,例如设置内容类型等。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.