JsonConvert.DeserializeObject解析响应-帮助解析一个部分



我不明白哪里出错了,请帮忙。另一部分我解析了,没问题。但是无法解析这个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#编码约定,并帮助你的反序列化库处理它,你可以用相应的属性标记它(根据库可以是JsonPropertyNameJsonProperty)或提供命名约定。

最新更新