多层嵌套的Json解析

多层json,怎么样处理,可以最便捷的取到信仰的手机name?

{
    "data":
    {
        "showStyle":"barscn",
        "areaList":
        [
            {
                "showModel":0,
                "showLen":5,
                "title":"",
                "lines":{
                    "style":{
                        "bgcolor":"ff0000",
                        "fgcolor":"ffffff", 
                        "fontsize":"36", 
                        "fontname":"simhei",
                        "alpha":1.0
                    },
                    "datas":
                    [
                        {   "style":"",
                            "cols":[
                                {"showName":"Nokia","currentShow":true,"style":""},
                                {"showName":"Apple","currentShow":true,"style":""}
                            ]
                        }
                    ]   
                }
            }    
        ]
    }
}

请问如何处理,使之具有普遍适用性

阅读 8.6k
2 个回答

用递归吧。


   var arr=[];
function run (v){
    if(v&&v.constructor==Array){
        v.forEach(value=>{
            run(value)
        })
        return
    }
    if(v&&v.constructor==Object){
        for(k in v){
            if(k=='showName'){
                arr.push(v[k])
            }
            run(v[k])
        }
    }
    
}
run(data)
console.log(arr)

JSON.parse('{json数据}') 这样就转为object了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题