美文网首页
for i in json 循环判断是否是在遍历json结构体

for i in json 循环判断是否是在遍历json结构体

作者: yisky | 来源:发表于2016-12-19 14:08 被阅读66次

    需求

    在代码中, 会遇到这样的问题:
    有时,后台传来的是
    [{"id":001,"name":"张三"},{"id":002,"name":"李四"}]
    
    但只有一条数据时: {"id":001,"name":"张三"} 
    

    当我们用 for(var i in json)时, 如果是第一种形式, 那没什么问题,就是取的我们想要的数据.比如:

    for(var i in json){
        console.log("学号:"+json[i].id);
        console.log("姓名:"+json[i].name)
    }
    

    但是如果遇到第二种格式的数据.for in 取出来的就是

    for(i in cc){
        console.log(cc[i].id)
    }
    //会输出undefined
    
    让我们来看看 i 现在是什么
    for(i in cc){
        console.log(i)
    }
    //id
    //name
    

    解决方案

    这样,我们就很好做了,只需要判断 i 是否为正整数.
    Number(i)将i转换为数字, 如果是其它字符,将转换出来是NaN..

    for(var i in json) {
        //这里判断是否是单个json
        if(!isNaN(Number(i))) {
            console.log(json[i].id)
        } else {
            console.log(json.id)
        }
    }
    
    

    相关文章

      网友评论

          本文标题:for i in json 循环判断是否是在遍历json结构体

          本文链接:https://www.haomeiwen.com/subject/mbrtvttx.html