下面的字符串怎么转成对象?

var str = "{"result":true,"key":"6100042518"}" 怎么取到key的值? 这本身就不算一个标准的字符串,语法都是报错的,但是后端改不了只能强行转化。

阅读 2.5k
5 个回答
let str = `"{"result":true,"key":"6100042518"}"`
JSON.parse(str.slice(1,str.length-1)).key//掐头去尾

这是后端返的json吧

JSON.parse('{"result":true,"key":"6100042518"}').key;

你原始的字符串本身就有问题,所以不能正确的转换,主要是引号问题,你在代码中就可以看到。
如果字符串内容正确,是可以直接转换为对象的。
它可以正确的json化。

 console.log(/key":"([^"]*)"}/.exec(str)[1]);
var str = '"{"result":true,"key":"6100042518"}"'
Object.keys(JSON.parse(str.slice(1, -1)))
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题