如上图,实体类转json的时候,怎么才能去掉null值。
7条回答 默认 最新
- 斯洛文尼亚旅游 2018-05-21 23:37关注解决 无用评论 打赏 举报
关注 解决 无用评论 打赏 举报关注 这个也行:
要将一个对象序列化,可是如果对象的属性为null的时候,我们想将属性为null的都去掉。
在这里我使用Newtonsoft.Json.dll
记录一下序列化以及反序列化
json字符串转对象
Model model=JsonConvert.DeserializeObject(val);
将对象转化为json格式字符串
string jsonString = JsonConvert.SerializeObject(obj);
那么如何序列化为json时过滤掉NULL呢??
var jsonSetting = new JsonSerializerSettings {NullValueHandling = NullValueHandling.Ignore};var json = JsonConvert.SerializeObject(data, Formatting.Indented, jsonSetting);
直接这样JsonConvert.SerializeObject(obj);序列化结果"MemberQuery": {
"PhoneNumber": "13222222222",
"Name": "test",
"MF": "女",
"BirthDate": "01/01/2017",
"MaritalStatus": null,
"Country": null
}过滤掉NULL序列化结果:
"MemberQuery": {
"PhoneNumber": "13222222222",
"Name": "test",
"MF": "女",
"BirthDate": "01/01/2017"
}解决 无用评论 打赏 举报- qq_38960786 2018-05-22 00:30关注解决 无用评论 打赏 举报
- wdf1234wdf 2018-05-22 00:55关注解决 无用评论 打赏 举报
- linpengfeixgu 2018-05-22 01:07关注
///
/// List转成json 数据共用方法,根据传属性名得到相关转换
///
/// 转换的实体集合
/// 实体类对应的属性
/// 转换后的属性显示名
///
public static string GetJsonData(IList list, string propertyName, string jsonShowName)
{
string[] propertyNameArr = propertyName.Split(',');//实体类属性
string[] jsonShowNameArr = jsonShowName.Split(',');//转化为UI实用属性名- StringBuilder Json = new StringBuilder();
- Json.Append("[");
- if (list.Count > 0)
- {
- for (int i = 0; i < list.Count; i++)
- {
- Type type = list[i].GetType();
- Json.Append("{");
- for (int j = 0; j < propertyNameArr.Length; j++)
- {
- PropertyInfo property = type.GetProperty(propertyNameArr[j]);
- if (property != null)
- {
- Json.Append(jsonShowNameArr[j]);
- if ("content".IndexOf(jsonShowNameArr[j]) >= 0)
- {
- Json.Append(":");
- }
- else
- {
- Json.Append(":'");
- }
- Json.Append(StringFormat(property.GetValue(list[i], null) == null ? "" : property.GetValue(list[i], null).ToString(), type));
- if ("content".IndexOf(jsonShowNameArr[j]) >= 0)
- {
- //Json.Append("");
- }
- else
- {
- Json.Append("'");
- }
- }
- if (j < propertyNameArr.Length - 1)
- {
- Json.Append(",");
- }
- }
- Json.Append("}");
- if (i < list.Count - 1)
- {
- Json.Append(",");
- }
- }
- }
- Json.Append("]");
- return Json.ToString();
- }
解决 无用评论 打赏 举报 - qq_40517985 2018-05-22 22:47关注解决 无用评论 打赏 举报
悬赏问题
- ¥15 宝塔面板一键迁移使用不了
- ¥15 求一个按键录像存储到内存卡的ESP32CAM代码
- ¥15 如何单独修改下列canvas推箱子代码target参数?,插入图片代替其形状,就是哪个绿色的圆圈每关用插入的图片替代
- ¥20 四叉树的创建和输出问题
- ¥15 javaweb连接数据库,jsp文件加载不出来
- ¥15 matlab关于高斯赛德尔迭代的应用编撰。(相关搜索:matlab代码|迭代法)
- ¥15 损失匹配问题,求解答
- ¥15 3500常用汉字书法体检测数据集下载
- ¥15 odoo17在制造模块或采购模块良品与次品如何分流和在质检模块下如何开发
- ¥15 Qt音乐播放器的音乐文件相对路径怎么写