我不明白哪里出错了,请帮忙。另一部分我解析了,没问题。但是无法解析这个section - always get null
{
"delivery_options":{
"Na adres":{
"Paczka pocztowa ekonomiczna, Paczka48":{
"price":180,
"time":"śr. 5 kwi. - czw. 6 kwi. u Ciebie"
}
},
"Na adres za pobraniem":{
"Paczka pocztowa ekonomiczna pobranie, Paczka48":{
"price":200,
"time":"śr. 5 kwi. - czw. 6 kwi. u Ciebie"
}
}
}
}
public DeliveryDetails delivery_options { get; set; }
public class DeliveryDetails
{
public Dictionary<string, Dictionary<string, DeliveryOptionsItem>> DeliveryOptions { get; set; }
}
我错在哪里?
根据提供的JSON结构-您不需要DeliveryDetails
,delivery_options
应该是Dictionary<string, Dictionary<string, DeliveryOptionsItem>>
类型:
class Root
{
public Dictionary<string, Dictionary<string, DeliveryOptionsItem>> delivery_options { get; set; }
}
例如:
var js = """
{
"delivery_options":{
"Na adres":{
"Paczka pocztowa ekonomiczna, Paczka48":{
"price":180,
"time":"śr. 5 kwi. - czw. 6 kwi. u Ciebie"
}
},
"Na adres za pobraniem":{
"Paczka pocztowa ekonomiczna pobranie, Paczka48":{
"price":200,
"time":"śr. 5 kwi. - czw. 6 kwi. u Ciebie"
}
}
}
}
""";
var root = JsonSerializer.Deserialize<Root>(js);
Console.WriteLine(root.delivery_options.Count); // prints "2"
公立小学考虑使用标准的c#编码约定,并帮助你的反序列化库处理它,你可以用相应的属性标记它(根据库可以是JsonPropertyName
或JsonProperty
)或提供命名约定。