ホームページ >ウェブフロントエンド >jsチュートリアル >jQuery_jquery での json 空オブジェクトのフィルタリングと置換について

jQuery_jquery での json 空オブジェクトのフィルタリングと置換について

WBOY
WBOYオリジナル
2016-05-16 17:37:031259ブラウズ
要件:

json オブジェクトには、いくつかの null 値または空の文字列が含まれる場合があります。ページを表示するときに、null 値に遭遇すると「N/A」と表示されることが想定されますが、一部の値では null 値が許可されます。したがって、フィルタリングによって null 値を「N/A」に設定することを希望します。たとえば、生徒の「年齢」と「スコア」が空の場合は「N/A」が表示され、「性別」が表示されるようにしたいと考えています。または「コメント」が空の場合は処理されません。

コードをコピー コードは次のとおりです:

var Student = {
"名前" : "郭",
"性別" : "",
"年齢" : "",
"番号 ": 01,
「スコア」 : [
{
「件名」、
「スコア」 : 50,
"コメント" : ""
},
{
「件名」 : "コンピューター",
"スコア" : "",
"コメント" : "欠席"
}
]

};
var exclude = ["sex", "comment"];

// obj を検証する方法 1
validateObj1 = function(obj,exclude){
var value;
for(var obj のキー){
value = obj[key];
if($.isArray(value)){
obj = validateArray1(obj, key,excluded);
}else if(( $.inArray(key、除外) == -1) && ($.isBlank(value))){
obj[key] = "N/A";
}
}

return obj;

}

validateArray1 = function(obj, key,excluded){
var subValue;
for(var i = 0 、長さ = obj[キー]。長さ;私は<長さ; i ){
for(var subKey in obj[key][i]){
subValue = obj[key][i][subKey];
if(($.inArray(subKey, 除外) == -1) && ($.isBlank(subValue))){
obj[key][i][subKey] = "N/A";
}
}
}

return obj;
}

// obj を検証する方法 2
validateObj2 = function(obj,excluded){
$.each(obj ,function(key, value){
if($.isArray(値)){
obj = validateArray2(obj, キー, 除外);
}else if(isInvalid(キー, 値, 除外)){
obj[key] = "N/A";
}
});

return obj;
}

validateArray2 = function(obj, key,excluded){
for(var i = 0, length = obj[key].length i < length; i ){
$.each(obj[key][i] ,function(subValue){
if(isInvalid(subKey, subValue, )){
obj[key][i][subKey] = "N/A";
}
});
}

return obj;
}

isInvalid = function(key, value,excluded){
return (($.inArray(key,excluded) == -1) && ($.isBlank(value))) ? true : false;
}

$.isBlank = function(obj){
return(!obj || $.trim(obj) === "");
};

方法 1 結果

方法 2 結果

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。