C# 在C中反序列化JSON数据时为Null对象#
我正在尝试将一个大的JSON数据转换为C json有一个根对象,在这个根对象中有20多个数据类型和3个其他对象 我使用Newtonsoft.Json来处理Json反序列化C# 在C中反序列化JSON数据时为Null对象#,c#,json,json-deserialization,C#,Json,Json Deserialization,我正在尝试将一个大的JSON数据转换为C json有一个根对象,在这个根对象中有20多个数据类型和3个其他对象 我使用Newtonsoft.Json来处理Json反序列化 我的方法1:在RootObject中得到null ClassA 创建了4个类。RootObjectClass和ClassA/B/C/D var root = new RootObjectClass(); root = JsonConvert.DeserializeObject<RootObjectClass>(j
我的方法1:在RootObject中得到null ClassA 创建了4个类。RootObjectClass和ClassA/B/C/D
var root = new RootObjectClass();
root = JsonConvert.DeserializeObject<RootObjectClass>(jsonContent);
A类:
public class ClassA
{
//20 different data types.
public ClassB classB { get; set; }
public ClassC classC { get; set; }
public ClassD classD { get; set; }
}
B、C、D类:
public class ClassB/C/D
{
//10 different data types.
}
Json数据:示例版本
{
"classA": {
"format": "some format",
"classB": {
"num": "11",
"word": "some word"
},
"classC": {
"num1": "1111",
"word": "some string"
},
"classD": {
"seomString": "some string"
}
}
}
JSON中的属性名称都是
objectA
,objectB
等等。。。而C#中的属性名是classA
,classB
等。您认为这是如何工作的?您应该反序列化RootObject,然后分配每个嵌套对象independly@Jon他们是同一个名字,就在我写样本的时候,我忘了匹配刚才使用的名字,粘贴到JSON或其中的一部分,这是一个具有代表性的示例,它将为您生成反序列化类。然后使用这些类或将它们与你的类进行比较,找出你的方法有什么问题。所有这些都是为什么你应该在发布之前进行必要的诊断工作,以提供一个完整的方法。
public class ClassB/C/D
{
//10 different data types.
}
{
"classA": {
"format": "some format",
"classB": {
"num": "11",
"word": "some word"
},
"classC": {
"num1": "1111",
"word": "some string"
},
"classD": {
"seomString": "some string"
}
}
}