这是从我的服务器返回的 JSON。
"[{"description":"A user","name":"test","type":"user"}]"
我想删除外部双引号。这意味着我想要 JSON 作为
[{"description":"A user","name":"test","type":"user"}]
我怎样才能做到这一点?请帮忙。
这是从我的服务器返回的 JSON。
"[{"description":"A user","name":"test","type":"user"}]"
我想删除外部双引号。这意味着我想要 JSON 作为
[{"description":"A user","name":"test","type":"user"}]
我怎样才能做到这一点?请帮忙。
您想将 JSON 转换为 JS 对象吗?如果是这样,你会这样做JSON.parse(json)
。如果您需要 IE7 支持,则必须包含 JSON 的 polyfill,因为 IE7 不支持它。
您可以在此处获取当前的 JSON polyfill:https ://github.com/douglascrockford/JSON-js/blob/master/json2.js
由于来自服务器的响应不是有效的 JSON,您必须将其作为文本请求、修复它并将其解析为 JSON。在ajax调用dataType: 'text'
中的选项中使用。
使用substr
方法剪切第一个和最后一个字符:
data = data.substr(1, data.length - 2);
然后你可以解析JSON:
var obj = $.parseJSON(data);
要从字符串中删除第一个和最后一个字符:
var fixed_string = string.substring(1, string.length - 1);
var str = '[{"description":"A user","name":"test","type":"user"}]';
var data = (new Function("return" +s))(); 控制台.log(f);
在您的情况下,来自服务器的响应是一个 json 字符串,您必须将其转换为 json 对象
var str = '[{"description":"A user","name":"test","type":"user"}]';
str = eval('('+str+')');
console.log(str[0].name) //this will give test
希望这可以帮助。