如何通过删除C#中的关键点来创建平面对象?

如何通过删除C#中的关键点来创建平面对象?,c#,dynamic,reflection,C#,Dynamic,Reflection,我真的不确定这是否可以实现,如何删除对象中的一些嵌套关键点并使对象非常平坦。我有一个动态对象,如下所示 EventData:{“变更集”:{“变更”:{ “变化”:[ ]}}}} 我想把上面的改成 EventData:{[]} 这可以通过C#?使用NewtonSoft.JSon包实现。。下面的代码就可以做到这一点。我制作了一个字符串数组,因为我不知道你需要什么,但是你可以根据自己的喜好改变它 const string complex = "{\"EventData\": { \"ChangeSe

我真的不确定这是否可以实现,如何删除对象中的一些嵌套关键点并使对象非常平坦。我有一个动态对象,如下所示

EventData:{“变更集”:{“变更”:{ “变化”:[ ]}}}}

我想把上面的改成

EventData:{[]}


这可以通过C#?

使用NewtonSoft.JSon包实现。。下面的代码就可以做到这一点。我制作了一个字符串数组,因为我不知道你需要什么,但是你可以根据自己的喜好改变它

const string complex = "{\"EventData\": { \"ChangeSet\": { \"Change\": { \"changes\" : [ ]}}}}";
调用方法:

string simple = returnSimpleObject(complex);


        public class SerializeData
        {
             public string[] EventData { get; set; }
        }

        private static string returnSimpleObject(string Json)
        {
            JObject jobject = JObject.Parse(Json);

            JToken tEventData = jobject.SelectToken("EventData");
            SerializeData myEvent = tEventData.ToObject<SerializeData>();

            JToken tchanges = jobject.SelectToken("EventData.ChangeSet.Change.changes");
            myEvent.EventData = tchanges.ToObject<string[]>();


            JsonSerializer serializer = new JsonSerializer();
            StringWriter strWrite = new StringWriter();
            JsonWriter myWriter = new JsonTextWriter(strWrite);
            serializer.Serialize(myWriter, myEvent);
            return strWrite.ToString();

        }
stringsimple=returnSimpleObject(复数);
公共类序列化数据
{
公共字符串[]EventData{get;set;}
}
私有静态字符串returnSimpleObject(字符串Json)
{
JObject=JObject.Parse(Json);
JToken-tEventData=jobject.SelectToken(“事件数据”);
SerializeData myEvent=tEventData.ToObject();
JToken tchanges=jobject.SelectToken(“EventData.ChangeSet.Change.changes”);
myEvent.EventData=tchanges.ToObject();
JsonSerializer serializer=新的JsonSerializer();
StringWriter strWrite=新StringWriter();
JsonWriter myWriter=新的JsonTextWriter(strWrite);
serializer.Serialize(myWriter,myEvent);
返回strWrite.ToString();
}

这看起来更像json而不是c#这是我拥有的动态对象,无法发布对象。因此,我以JSONY的身份发布了一篇文章,你可能不恰当地使用了
dynamic
,并导致了你自己的后续问题,比如这个问题。您使用
动态
有什么原因吗?您所说的不适当是什么意思?否这是存储在documentdb上的数据。我需要通过删除不需要的字段来创建有效对象此“对象”来自何处?