C#复杂类构造从JSON读取/设置值

C#复杂类构造从JSON读取/设置值,c#,json,properties,C#,Json,Properties,我有个问题;我有各种(太多)类,它们作为父/子类链接 我首先填充我的顶级类,同时实例化其他类,如下所示(有效): 我在上面填充的初始值很少改变,但是随着项目的进行,类的属性也会改变,每个类最终都有许多属性。 我需要解析属性并将值设置为任何与其名称匹配的属性,但我似乎不明白为什么,尽管有以下官方示例。 (我从一个JSON字符串中读取输入数据,我使用Newtonsoft——我已经尝试了所有方法) 我找不到一种方法来反序列化JSON并为我的属性分配任何值,而不使用属性的名称,即不说 MyClass.B

我有个问题;我有各种(太多)类,它们作为父/子类链接

我首先填充我的顶级类,同时实例化其他类,如下所示(有效):

我在上面填充的初始值很少改变,但是随着项目的进行,类的属性也会改变,每个类最终都有许多属性。 我需要解析属性并将值设置为任何与其名称匹配的属性,但我似乎不明白为什么,尽管有以下官方示例。 (我从一个JSON字符串中读取输入数据,我使用Newtonsoft——我已经尝试了所有方法)

我找不到一种方法来反序列化JSON并为我的属性分配任何值,而不使用属性的名称,即不说

MyClass.Body.access.allPs = "Hello"
但有点像

var json = response.Content.ReadAsStringAsync().Result.ToString();
var a = new { serverTime = "", data = new object[] { } };
var c = new JsonSerializer();


有人能帮我吗?

如果JSON具有上述类所述的正确结构,则属性的值将自动分配

比如:

{
    "Body": 
           "access:
              {
                 "allPs" = "required value"
              }
} 
然后您可以使用:

var result = JsonConvert.DeserializeObject < TopClass > (json );
var result=JsonConvert.DeserializeObject(json);

谢谢,我会尝试,但是,以后如何填充我的属性?我如何遍历TopClass的所有属性(以及嵌套、链接等)并找到“allPs”的位置并分配值“required value”?您可以通过反射来实现:public void CopyValues(T target,T source){Type T=typeof(T);var properties=T.GetProperties().where(prop=>prop.CanRead&&prop.CanWrite);foreach(属性中的var prop){var value=prop.GetValue(source,null);if(value!=null)prop.SetValue(target,value,null);}}亲爱的朋友,你知道了一些事情!!!!!我把json作为字符串,作为
response.Content.ReadAsStringAsync().Result.ToString()
我的对象称为
TopClass
——请问如何使用这个方法?
{
    "Body": 
           "access:
              {
                 "allPs" = "required value"
              }
} 
var result = JsonConvert.DeserializeObject < TopClass > (json );