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