本文介绍了将属性子对象移至根的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个本地序列化为
{ "LrsFeature": { "MEASURE": 1.233242, "STATION_ID": "brians station", "NLF_ID": "brians route" }, "EVENT_ID": "00000000-0000-0000-0000-000000000000", }我希望它成为
{ "MEASURE": 1.233242, "STATION_ID": "brians station", "NLF_ID": "brians route", "EVENT_ID": "00000000-0000-0000-0000-000000000000", }其中LrsFeature中的所有属性都添加到根级别.
where all the properties within LrsFeature are added to the root level.
我的尝试
var events = JObject.FromObject(LrsEvent); var attrs = JObject.FromObject(LrsEvent.LrsFeature); events.Merge(attrs, new JsonMergeSettings { MergeArrayHandling = MergeArrayHandling.Union });这给了我
{ "MEASURE": 1.233242, "STATION_ID": "brians station", "NLF_ID": "brians route", "LrsFeature": { "MEASURE": 1.233242, "STATION_ID": "brians station", "NLF_ID": "brians route" }, "EVENT_ID": "00000000-0000-0000-0000-000000000000", }然后,我需要删除LrsFeature对象,但似乎有点不客气.我认为JSON.NET可能有更直接的方法
I then need to delete the LrsFeature object, but it seems a little bit hacky. I figured JSON.NET might have a more direct method of doing this
推荐答案您可以执行以下操作:
JObject jo = JObject.FromObject(LrsEvent); JProperty lrs = jo.Property("LrsFeature"); jo.Add(lrs.Value.Children<JProperty>()); lrs.Remove(); string json = jo.ToString();提琴: dotnetfiddle/zsOQFE
更多推荐
将属性子对象移至根
发布评论