js处理json

//根据key查询value值
// function selectValueData(jsonData,selectKey){
// for(key in jsonData){
// if(judgmentEquels(key,selectKey)==0){
// console.log(key+"--->"+jsonData[key]);
// }else if(jsonData[key] instanceof Object){
// selectValueData(jsonData[key],selectKey);
// }
// }
// }

//比较字符串内容是否相等
function judgmentEquels(a,b){
return a.localeCompare(b);

}

//获取所有key
// var jsonArray = new Array();
// function getKey(testJson){
// for(key in testJson){

// if(testJson[key] instanceof Object && testJson[key].toString().indexOf("Object")>=0){
// // console.log("arrKey"+key);
// getKey(testJson[key]);
// }else{
// //console.log(key+"------>"+testJson[key]);
// jsonArray.push(key);
// }

// }
// return jsonArray;
// }


//遍历json串的key与value
function getJsonData(jsonData){
for(key in jsonData){
//判断value是否为数组,并且数组内有集合
if(jsonData[key] instanceof Object && jsonData[key].toString().indexOf("Object")>=0){
getJsonData(jsonData[key]);
//判断valu是否为数组,并且数组内没有集合
}else if(jsonData[key] instanceof Object && jsonData[key].toString().indexOf("Object")<=0){
for(var i=0;i<jsonData[key].length;i++){
console.log(key+"--->"+jsonData[key][i]);
}
}
else{
console.log(key+"--->"+jsonData[key]);

}
}
}

 

//修改value值
function modifyJsonData(jsonData,modifyKey,modifyValue){
for(key in jsonData){
//判断value是否为数组,并且数组内有集合
if(jsonData[key] instanceof Object && jsonData[key].toString().indexOf("Object")>=0){
modifyJsonData(jsonData[key],modifyKey,modifyValue);
//判断valu是否为数组,并且数组内没有集合
}else if(jsonData[key] instanceof Object && jsonData[key].toString().indexOf("Object")<=0){
for(var i=0;i<jsonData[key].length;i++){
if(judgmentEquels(key,modifyKey)==0){
jsonData[key][i]=modifyValue[i];
}
}
}else{
if(judgmentEquels(key,modifyKey)==0){
jsonData[key]=modifyValue[i];
}

}
}
return JSON.stringify(jsonData);
}

 

var test={"a":"1","e":["f","g","h"],"i":{"b":["2","3"]},"j":[{"k":"4","l":"5"},{"m":"6","n":["7","8"]}]};

//getJsonData(test);

//console.log(modifyJsonData(test,"e",["9","10","11"]));


//传递json,key,数组,修改json值
var str="x,y";
var strArr=new Array();
strArr=str.split(",");
console.log(modifyJsonData(test,"n",strArr));

//console.log(getKey(test));
//getKey(test);

 

posted @ 2018-01-09 17:47  Free-program  阅读(111)  评论(0)    收藏  举报