混淆json对象和字符串和json.解析和JSON.stringify
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响应匹配正确。
它还可以做一些事情,比如设置内容类型等。
相关文章:
- jQuery匹配JSON对象的部分文本
- 在循环中分配json值时,值被覆盖
- 需要帮助设置json数组
- 如何在Javascript中将JSon对象转换为数组
- 我可以在json对象中添加一个函数吗
- 使用JS将数组转换为json对象
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 使用JQuery解析JSON嵌套数组
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- 如何使用json将对象列表从java转换为javascript
- 如何使用 node.js 比较两个 json 数组
- 如何将JSON数据导入我的ejs模板
- 区分JSON中的矩阵和列表列表
- 不显示带有本地json文件数据的谷歌地图脚本
- 如何将json数据显示为html
- 如何为json对象中的段发送array[]
- 根据id将json数组组合为一个json数组
- Json数据包含日期和时间格式
- AngularJS-在JSON选择器中使用变量名
- HTML 5 SSE和Json - Json到数组(javascript)