栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Newtonsoft Json.Net序列化JObject即使设置正确也不会忽略null

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Newtonsoft Json.Net序列化JObject即使设置正确也不会忽略null

一个

"null"
在值
JObject
实际上是一个
_非空
JValue
_与
JValue.Type
等于
JTokenType.Null
。当此值实际出现在JSON中时,它表示null的JSON值。我相信它的存在是为了捕获以下两个JSON对象之间的差异:

  "source2": {    "z": null  }  "source2": {  }

在第一种情况下,该属性

"z"
带有
null
JSON值。在第二种情况下,该属性
"z"
不存在。Linq-to-
JSON表示第一种情况是null类型,
JValue
而不是
JProperty.Value
实际 为null

为防止空令牌渗透到您

JObject
的值中,请在
JObject
从某些POCO 创建时使用适当的序列化器设置:

var jobj = JObject.FromObject(new{    x = 1,    y = "bla",    z = (int?)null}, new JsonSerializer { NullValueHandling = NullValueHandling.Ignore } );

(请注意,POCO本身本身不一定已经是

JObject
。无类型方法,
JsonConvert.DeserializeObject(jsonString)
或者
JsonConvert.DeserializeObject<dynamic>(jsonString)
默认情况下,
JObject
当根JSON容器
jsonString
为JSON对象时,默认情况下将返回a
。)



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/437106.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号