字符串对象怎么转换成对象?

后端返回一个这玩意,怎么转化成对象 "{"State":0,"Message":"可以领取","Data":}"

阅读 6.4k
7 个回答

返回的数据需要多一步修复才可以使用JSON.parse. 如果后端人员能改,最省事的还是让他们改成标准的json字符串。

附上前端改法

var rtnData = '{"State":0,"Message":"可以领取","Data":}';
var fixedRtnData = rtnData.replace(/("\w+":)(?=[},])/g, '$1null');
var jsonData = JSON.parse(fixedRtnData);
console.log(jsonData);

JSON.parse({"State":0,"Message":"可以领取","Data":})

var str = '{"State":0,"Message":"可以领取","Data":""}';

JSON.parse(str);

找后端理论,这明显是不严格的JSON数据格式

返回的数据是带最外面的双引号的?那你让后端去改

最外层改成单引号

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