请考虑以下情形:
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 });
Run Code Online (Sandbox Code Playgroud)
结果jf是{"hello":"world", "test":null}
我如何调用库以获得合并的结果:
{"hello":"world"}
这是一个我必须递归遍历结果对象并手动删除空值属性的情况吗?或者是否有一些魔术棒说"在序列化时只丢弃这些空值"
我知道JsonProperty -> NullValueHandling,但这些是我正在使用的动态对象,所以模型是未知的.
| 归档时间: |
|
| 查看次数: |
924 次 |
| 最近记录: |