1

这是从我的服务器返回的 JSON。

"[{"description":"A user","name":"test","type":"user"}]"

我想删除外部双引号。这意味着我想要 JSON 作为

[{"description":"A user","name":"test","type":"user"}]

我怎样才能做到这一点?请帮忙。

4

5 回答 5

4

您想将 JSON 转换为 JS 对象吗?如果是这样,你会这样做JSON.parse(json)。如果您需要 IE7 支持,则必须包含 JSON 的 polyfill,因为 IE7 不支持它。

您可以在此处获取当前的 JSON polyfill:https ://github.com/douglascrockford/JSON-js/blob/master/json2.js

于 2012-08-24T09:12:07.970 回答
3

由于来自服务器的响应不是有效的 JSON,您必须将其作为文本请求、修复它并将其解析为 JSON。在ajax调用dataType: 'text'中的选项中使用。

使用substr方法剪切第一个和最后一个字符:

data = data.substr(1, data.length - 2);

然后你可以解析JSON:

var obj = $.parseJSON(data);
于 2012-08-24T09:18:26.433 回答
2

要从字符串中删除第一个和最后一个字符:

var fixed_string = string.substring(1, string.length - 1);
于 2012-08-24T09:17:06.823 回答
0

var str = '[{"description":"A user","name":"test","type":"user"}]';

var data = (new Function("return" +s))(); 控制台.log(f);

于 2012-08-24T09:50:22.207 回答
0

在您的情况下,来自服务器的响应是一个 json 字符串,您必须将其转换为 json 对象

var str = '[{"description":"A user","name":"test","type":"user"}]'; 
str = eval('('+str+')');
console.log(str[0].name) //this will give test

希望这可以帮助。

于 2012-08-25T04:37:07.970 回答