使用错误的表示法更正JSON字符串?

时间:2012-11-10 17:42:08

标签: javascript json

我正在开发一个使用javascript的web应用程序,我必须接收并解析一个看起来像这样的JSON字符串:

{name:"", house:""}

将其转换为正确的符号的最佳方法是什么?

{"name":"", "house":""}

提前致谢!

1 个答案:

答案 0 :(得分:2)

var str = '{name:"", house:""}';
var newStr = JSON.stringify( eval( '(' + str + ')' ) );
console.log(newStr); //{"name":"", "house":""}

Fiddle

如果数据源不受信任,请不要使用eval


顺便说一下,你确定你收到了一个结构糟糕的JSON字符串,它不仅仅是一个对象吗?如果您正在使用jQuery,它会自动将JSON响应解析为对象。在这种情况下,您只需调用JSON.stringify传递对象以从中生成有效的JSON字符串,或访问请求的responseText。使用jQuery Ajax Fiddle