问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

jquery的ajax,取回的json串,怎么把null过滤成空串

发布网友 发布时间:2022-05-17 13:33

我来回答

3个回答

懂视网 时间:2022-05-17 17:54

Requirement:

一个json object,并且可能包含一些空值或者空字符串,在页面显示的时候希望遇到空值显示“N/A”,但是有一部分值是允许空值的。因此希望通过筛选将空值设为“N/A”.例如希望学生的“age”和“score”如果为空显示“N/A”,而“sex”或者“comment”为空则不做处理。

代码如下:
var student = {
"name" : "Guo",
"sex" : "",
"age" : "",
"num ": 01,
"scores" : [
{
"subject" : "English",
"score" : 50,
"comment" : ""
},
{
"subject" : "Computer",
"score" : "",
"comment" : "absent"
}
]

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

// method 1 to validate obj
validateObj1 = function(obj, excluded){
var value;
for(var key in obj){
value = obj[key];
if($.isArray(value)){
obj = validateArray1(obj, key, excluded);
}else if(($.inArray(key, excluded) == -1) && ($.isBlank(value))){
obj[key] = "N/A";
}
}

return obj;

}

validateArray1 = function(obj, key, excluded){
var subValue;
for(var i = 0, length = obj[key].length; i < length; i++){
for(var subKey in obj[key][i]){
subValue = obj[key][i][subKey];
if(($.inArray(subKey, excluded) == -1) && ($.isBlank(subValue))){
obj[key][i][subKey] = "N/A";
}
}
}

return obj;
}

// method 2 to validate obj
validateObj2 = function(obj, excluded){
$.each(obj ,function(key, value){
if($.isArray(value)){
obj = validateArray2(obj, key, excluded);
}else if(isInvalid(key, value, excluded)){
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(subKey, subValue){
if(isInvalid(subKey, subValue, excluded)){
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) === "");
};

Method 1 结果

Method 2 结果

热心网友 时间:2022-05-17 15:02

可以重新赋值。
如果json={"SSGM":null}

JSONObject jsonObj = new JSONObject(json);
String SSGM = jsonObj.get("SSGM");//获取JSON中SSGM的值便于判断
if(null == SSGM) {
jsonObj .put("SSGM","")//如果为null那么将SSGM的值赋值为""
}

不知道你的需求是什么,如果可以的话在写json的时候就做判断,或者从json拿数据的时候做判断是最方便的

热心网友 时间:2022-05-17 16:20

参数==null?"":参数
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
谁能给个单机版的风云之雄霸天下啊?? 求风云雄霸天下PC单机游戏WIN7版 雄霸天下任务指南 开心网001老房子卖了以后家具还有吗? 为什么001开心网买房子组件删除仓库里的东西都没了 请教一下,开心001的开心庄园里面的建材有好多富余的的 除了5元一个卖... 开心网001小号怎么给大号送房子? 开心网001多少级能送别人房子?多少级能接受别人给的房子? 开心网001果实或家具能送人吗 开心网(kaixin001)怎么买外地房子? 百米飞人小游戏怎么加速 高分求荐,学生笔记本电脑! 学生用笔记本电脑。4000左右。 买一部3千到4千左右的笔记本,希望网友推荐几款,谢谢。本人不玩网络游戏,就是浏览网页,聊QQ,QQ游戏 gatewayn4808具体配置参数 摄像头多少像素的 推荐几款 2009 游戏笔记本给我! 哪款3500元左右的笔记本性价比比较高? 制作网页用 那个免费的 软件最好 ? 笔记本、手机、蓝牙、无线上网 笔记本通过HDMI线连接液晶显示器 笔记本选购问题 超级高分求助 推个笔记本,09新上市的,牌子好点的,女孩用的,时尚 财务管理作业:举例说明为什么风险是相对的? 风险的特性有没有相对性 投资都有风险,那投资黄金的风险是不是相对较小? lenovoBIOS SETUP utility设置 我想修复电脑系统,出现Lenovo BlOS Setup Utility 接下来怎么弄 联想一体机,lenovo bios setup utility启动设置p 电脑关机微信会自动退出吗?再开机是否还在,还需重新登录吗? 微信同步到电脑上,如果手机切换到另一个,电脑同步会断开吗 给张冷漠的照片 怎样将收索结果页面复制下来保存在文件中 《沉香如屑》是欢瑞出品的电视剧,这部剧是根据什么小说改编的? 计算机问题:如何把网站中查找的页面内容以文本文件的格式保存在考生目录下? 如何保存文档查找结果 武汉太平洋大厦成功爆破拆除,8秒夷为平地,这是否太过浪费资源? 旧楼爆破拆除瞬间埋没过路小车,这种情况出了交通事故算谁的责任? VFP中如何将SELECT查询结果保存到文本文件中 为什么使用挖掘机?直接爆破不是更好更快吗?拆楼挖掘机太费事了 杨紫确认出演《沉香如屑》,三方声明平息纷争,杨紫遭受了什么? 羊羔毛外套烧焦了怎麼洗 微信怎么查询廉租房信息 洗衣机总是出现E2闪烁,不能工作,是怎么回事?老 三星全自动洗衣机8KG的,出现E2闪烁什么原因? 油滤芯多长时间换一次? 机油滤芯多久更换一次? 什么是汽车机油滤芯? 魔兽世界火影忍者羁绊5.71单家教学 火影忍者羁绊5,7凯怎么玩 三国志11怎么进行攻城?