【发布时间】:2011-06-18 03:25:12
【问题描述】:
我正在使用 jQuery 的 getJSON 函数发出请求并处理 JSON 响应。问题是我得到的响应格式不正确,我无法更改它。响应如下所示:
{
aNumber: 200,
someText: '\'hello\' world',
anObject: {
'foo': 'fooValue',
'bar': '10.0'
}
}
要成为有效的 JSON,它应该如下所示:
{
"aNumber": 200,
"someText": "'hello' world",
"anObject": {
"foo": "fooValue",
"bar": "10.0"
}
}
我想将返回的文本更改为有效的 JSON 对象。我已经使用 JavaScript 替换函数将单引号转换为双引号,并将转义的单引号转换为单引号,但现在我一直在寻找在键值周围添加引号的最佳方法。
例如,如何将foo: "fooValue" 更改为"foo":"fooValue"?有没有正则表达式可以让这变得简单?
提前致谢!
【问题讨论】:
-
我在another question写了一个转换函数,用的是简单的正则表达式,不需要
eval()。
标签: javascript regex json