为了账号安全,请及时绑定邮箱和手机立即绑定

json.stringify把对象转为字符串,字符串不能遍历吗?

json.stringify把对象转为字符串,字符串不能遍历吗?

慕妹3242003 2019-03-23 14:14:22
    var json={        "img":"http://img.alicdn.com/bao/uploaded/TB1n4UwLVXXXXXMXFXXXXXXXXXX_!!0-item_pic.jpg_160x160q90.jpg",        "title":"减15+减10+顺丰好礼 汇仁牌肾宝片126片补肾男女治肾虚肾亏中药品",        "price":"180",        "address":"广州"    };    var my=JSON.stringify(json);    for(var i=0; i<my.length;i++){//        console.log(json[i]);        console.log(my);//        console.log(my.img)    }多出的179是什么意思?字符串吗?我想显示的是 img,其它不要。请问 为什么console.log(my.img)也没用如何用方法显示我想要的效果 如果以上的方法不行请问通过什么其它的方法想完成我的想法?
查看完整描述

6 回答

?
慕丝7291255

TA贡献1859条经验 获得超6个赞

stringify之后输出的是字符串,不再是json对象,179就是字符串长度

你真的要遍历my的话,循环179次,每次就输出这个字符串的一个字符

遍历json的话,循环4次,每次输出这个对象的一个属性
stringify之后的字符串主要用于http传输数据,json则是js的内置对象

json----stringify---->string-----parse--->json


查看完整回答
反对 回复 2019-04-18
?
慕标5832272

TA贡献1966条经验 获得超4个赞

179意思是输出了179次
stringfy以后已经是字符串了,my.img没有意义,如果想直接输出img的话就直接通过原对象访问即可,比如json.img

查看完整回答
反对 回复 2019-04-18
?
紫衣仙女

TA贡献1839条经验 获得超15个赞

179是打印了179次,因为你遍历了字符串my,而它的length是179...
想要img直接打印就好啦console.log(josn.img)
my是string,my.img当然没用


话说声望低不可以点赞但是可以作答= =shenmegui


查看完整回答
反对 回复 2019-04-18
?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

好像搞晕了,是不是直接输出json.img就可以了呢


查看完整回答
反对 回复 2019-04-18
?
收到一只叮咚

TA贡献1821条经验 获得超5个赞

这用法有问题吧? 看代码的意思是要获取图片路径?
为何不直接点:

console.log(json.img);


查看完整回答
反对 回复 2019-04-18
  • 6 回答
  • 0 关注
  • 739 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号