那就从源头做起,把插入数据库的那些数据为null的改成"",用表里面的默认值或者是程序插入的时候,或者是触发器...
.NET里面的null和空字符串是不同的概念,null代表了未初始化,而空字符串则是初始化过了,这两者是有严格区分的,不能因为你某个地方要用到空字符串而强制修改序列化类的处理方式,对于为null属性,反序列化是不处理该属性的,但是为空字符串则不同,必须处理。事实上序列化后应该连 {aa:null}都看不到,直接为{},内部空白
对于有默认值的属性,不要直接用简写的{get;set;} ,写完整,例如: private string _aa = ""; public string aa { get {return _aa;} set {_aa=value;} }
引用 6 楼 asdvb 的回复:引用 3 楼 Scorip 的回复:引用 2 楼 asdvb 的回复:现在是有一些字段 没有 赋值, 序列化后,该字段会变成NULL, 例: public string aa{get;set;} 序列化后会变成: {aa:null} 我要的结果是{aa:""} 这样前端显示就正常了, 返回之前替换一下?? Replac……
引用 3 楼 Scorip 的回复:引用 2 楼 asdvb 的回复:现在是有一些字段 没有 赋值, 序列化后,该字段会变成NULL, 例: public string aa{get;set;} 序列化后会变成: {aa:null} 我要的结果是{aa:""} 这样前端显示就正常了, 返回之前替换一下?? Replace("null","''"); ……
引用 2 楼 asdvb 的回复:现在是有一些字段 没有 赋值, 序列化后,该字段会变成NULL, 例: public string aa{get;set;} 序列化后会变成: {aa:null} 我要的结果是{aa:""} 这样前端显示就正常了, 返回之前替换一下?? Replace("null","''");
现在是有一些字段 没有 赋值, 序列化后,该字段会变成NULL, 例: public string aa{get;set;} 序列化后会变成: {aa:null} 我要的结果是{aa:""} 这样前端显示就正常了,
110,545
社区成员
642,580
社区内容
加载中
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧