关于JSON.parse的问题?

var str = 'a=""'

var res = '{"' + str.replace(/"/g, '\\"').replace(/=/g, '":"') + '"}'

console.log('res', res) // {"a":"\"\""}
// 问题1:哪个值是和res相等的?

console.log(res === '{"a":"\"\""}') // false
// 问题2:为什么是false

console.log('res1', JSON.parse(res)) // {a: """"}

问题3:JSON.parse() 的解析规则是什么?

阅读 2.6k
3 个回答

JSON.parse(jsonData),jsonData是JSON格式的字符串,该方法是将JSON格式的字符串,序列化成JSON数据。

其实这是一个字符串里单引号双引号转义的问题,
res里的'"'其实是转义,真正的字符串里没有''

他是将json字符串 解析成json对象吧

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题