奇怪的 JSON C# 的解析情况
Weird JSON Parsing situation with C#
我有一个客户的 JSON 有一个非常奇怪的情况。他们发送一个名为 ID(这是一个数字)的对象数组:
而不是允许简单解析的预期对象名称,例如“amenity”。
我们如何将其解析为包含 ID 和名称的对象列表?这是确切的 JSON 文本:
“便利设施”:{
“2194”:{
“编号”:“2194”,
"name":"两人早餐"
},
“2192”:{
“编号”:“2192”,
“名称”:“免费WiFi”
}
}
还有其他情况,当我们有更多字段时,不仅是每个对象中的 id 和名称
“便利设施”:{
“2194”:{
“编号”:“2194”,
"name":"两人早餐",
“有效期”:“2022-10-30”
},
“2192”:{
“编号”:“2192”,
"name":"免费WiFi",
“有效期”:“2022-10-30”
}
}
谢谢大家!!!
您需要两个 class,一个是 json 将被转换成的主要 (Class1),另一个是数组中对象的 class(Class2) .然后就可以将main中的字典转换成字典的Class2值列表。
public class MyClass1{
public Dictionary<string,MyClass2> amenities;
}
public class MyClass2{
public string id;
public string name;
public string validto;
}
先反序列化成MyClass1,再从Dictionary中取出Values,转成List。
List<MyClass2> list = JsonConvert.DeserializeObject<MyClass1>(jsonstring).amenities.Values.ToList()
我有一个客户的 JSON 有一个非常奇怪的情况。他们发送一个名为 ID(这是一个数字)的对象数组:
而不是允许简单解析的预期对象名称,例如“amenity”。
我们如何将其解析为包含 ID 和名称的对象列表?这是确切的 JSON 文本:
“便利设施”:{ “2194”:{ “编号”:“2194”, "name":"两人早餐" }, “2192”:{ “编号”:“2192”, “名称”:“免费WiFi” } }
还有其他情况,当我们有更多字段时,不仅是每个对象中的 id 和名称
“便利设施”:{ “2194”:{ “编号”:“2194”, "name":"两人早餐", “有效期”:“2022-10-30” }, “2192”:{ “编号”:“2192”, "name":"免费WiFi", “有效期”:“2022-10-30” } }
谢谢大家!!!
您需要两个 class,一个是 json 将被转换成的主要 (Class1),另一个是数组中对象的 class(Class2) .然后就可以将main中的字典转换成字典的Class2值列表。
public class MyClass1{
public Dictionary<string,MyClass2> amenities;
}
public class MyClass2{
public string id;
public string name;
public string validto;
}
先反序列化成MyClass1,再从Dictionary中取出Values,转成List。
List<MyClass2> list = JsonConvert.DeserializeObject<MyClass1>(jsonstring).amenities.Values.ToList()