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

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

    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)也没用
如何用方法显示我想要的效果
如果以上的方法不行
请问通过什么其它的方法想完成我的想法?


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

console.log(json.img);


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


@vinci 是正确的:wq


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


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);
console.log(my.length);
for (var i = 0; i < my.length; i++) {
    console.log(my);
    //my的length是194,所以执行了194次。这里的数字是执行次数
}
//你想要的效果只需要这样就好了
var myImg = json.img;
console.log(myImg)

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


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


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

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

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

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

【热门文章】
【热门文章】