js将字符串转换成对象和数组

msg通过$post方式获得的返回的varjsons={A:[{name:"阿克苏",spell:"akesu"}],……这样赋值的msgjsons他们里面内容一致但输出... msg 通过$post方式获得的返回的
var jsons ={A:[{name:"阿克苏",spell:"akesu"}],……这样赋值的
msg jsons他们里面内容一致 但输出来就如图一样
哪位大神能将msg转换为成jsons一样??
展开
 我来答
hutia
2015-01-26 · TA获得超过580个赞
知道小有建树答主
回答量:97
采纳率:100%
帮助的人:158万
展开全部

可以这样转换(兼容性较好的做法):

var msg = '{A:[{name:"阿克苏",spell:"akesu"}]}'; // 字符串类型的 JSON 数据
var json = null;
try {
    json = (new Function('return ' + msg))();
} catch(e) {
    // 如果 JSON 数据格式有错误,进行错误处理
    console.log('数据错误');
}


---------


利用现代浏览器的特性的另一种做法是:

var msg = '{A:[{name:"阿克苏",spell:"akesu"}]}'; // 字符串类型的 JSON 数据
var json = JSON.parse(msg); // 直接利用 JSON 对象进行解析

缺点就是某些浏览器不一定支持



---------


反过来,如果要将对象转换成字符串,可以这样做,见下面代码(适用于现代浏览器,几十年前的IE6什么的运行不起来):

var jsons ={A:[{name:"阿克苏",spell:"akesu"}]}; // JS 对象
var str = JSON.stringify(jsons); // 转化对象为字符串
console.log(str); // 测试 - 输出字符串
更多追问追答
追问

结果是这样 我哪里没对嘛? 

追答
你转换和输出的代码贴的稍微完整点,不然无法分析
趣事情
推荐于2017-09-06 · 知道合伙人互联网行家
趣事情
知道合伙人互联网行家
采纳数:517 获赞数:5452
电脑技术,软件开发。移动开发。网站建设相关专业知识。都可以提供解答和相关技术指导。

向TA提问 私信TA
展开全部
一个对象,但如何把文本转为对象呢。使用eval();注意一定要加括号,否则会转换失败

代码如下:

var test='{ colkey: "col", colsinfo: "NameList" }'

把文本转化为对象
var test='{ colkey: "col", colsinfo: "NameList" }'
var obj2=eval("("+test+")");
alert(obj2.colsinfo);

把文本转化为数组

代码如下:

var test='["colkey", "col", "colsinfo","NameList" ]'
var obj2=eval("("+test+")");
alert(obj2.length);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
袭空岚枫
2015-01-26 · TA获得超过190个赞
知道小有建树答主
回答量:192
采纳率:0%
帮助的人:194万
展开全部
在jsons赋值后加
jsons = eval('(' + jsons + ')');试试看
追问

出来是这样的!并非A~Z那样排!

不过已经解决 !谢啦!

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式