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);

浙公网安备 33010602011771号