考虑以下情况:
var s1 = "{\"hello\":\"world\", \"test\":\"somevalue\"}";
var s2 = "{\"hello\":\"world\", \"test\":null}";
var j1 = JObject.Parse(s1);
var j2 = JObject.Parse(s2);
j1.Merge(j2, new JsonMergeSettings { MergeArrayHandling = MergeArrayHandling.Union, MergeNullValueHandling = MergeNullValueHandling.Merge });
var jf = JsonConvert.SerializeObject(j1, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore });
jf
的结果是{"hello":"world", "test":null}
如何调用库以获得合并的结果:
{"hello":"world"}
这是一种情况,我必须递归遍历生成的对象并手动删除空值&#d; d属性?或者是否有一些魔术棒说"只是在序列化时删除这些空值"
我知道JsonProperty -> NullValueHandling
,但这些是我正在使用的动态对象,所以模型未知。