Js 递归遍历Json所有的key 和 value

Others 2019-02-27 09:13:50 2019-02-27 09:13:50 3687 次浏览

// 遍历解析Json
function parseJson(jsonObj) {
    // 循环所有键
    for(var key in jsonObj) {
        //如果对象类型为object类型且数组长度大于0 或者 是对象 ,继续递归解析
        var element = jsonObj[key];
        if(element.length > 0 && typeof(element) == "object" || typeof(element) == "object") {
            parseJson(element);
        } else { //不是对象或数组、直接输出
            console.log("----eles -->  " + key + ":" + element + " ");
        }

    }

}


function parseJson(jsonObj,val) {
    for(var key in jsonObj) {
        //如果对象类型为object类型且数组长度大于0 或者 是对象 ,继续递归解析
        var element = jsonObj[key];
        if(key==val){
        console.log(element);
        }
        if(element.length > 0 && typeof(element) == "object" || typeof(element) == "object") {
            parseJson(element,val);
        }

    }
       }
var arr={"a":1,"b":{"c":3},"d":[{"a":'c'}]};

parseJson(arr,"a");