在JavaScript中没有引号的Parse JSON

时间:2017-03-23 22:05:09

标签: javascript json parsing

我得到一些我要解析并在屏幕上显示的JSON响应。问题是它有时没有引用某些字符串值。例如:reference":D578699A, "success":1, "error_code":0, "error_text":"Success" }它可能有""对于一些字符串。我该如何处理这种情况?非常感谢!

2 个答案:

答案 0 :(得分:2)

最好的答案是修复服务中的错误代码。

因此,如果您无法使用JSON.parse,您可以去旧学校并使用eval或新功能。

var x = '{foo:"bar", "cat" : "dog"}';
eval("var o =" + x);
console.log(o);

var x = '{foo:"bar", "cat" : "dog"}';
var o = new Function("return " + x)();
console.log(o)

使用这些解决方案可以让您轻松接受XSS攻击。

另一种选择是编写一个试图修复它的正则表达式

答案 1 :(得分:1)

一些观察结果:

    来自服务器的
  • JSON不是有效的JSON,因为它的字符串值没有引号(")。

enter image description here

此问题应仅从服务器端进行更正。因此,您将获得有效的JSON响应,如下所示。

enter image description here