You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用JsonConvert.DeserializeObject解析delivery_options始终为null的问题排查

问题原因

你的C#实体类结构和JSON的层级不匹配:

  • JSON中delivery_options直接是两层嵌套字典(外层键为"Na adres"这类字符串,对应的值又是一个字典)
  • 但你定义的DeliveryDetails类里多了一层DeliveryOptions属性,Json.NET无法在JSON中找到名为DeliveryOptions的字段,因此解析后delivery_options返回null。
修复方案

有两种简单的修复方式:

方式1:简化实体类,直接使用字典类型

去掉DeliveryDetails类,将delivery_options的类型改为嵌套字典:

public Dictionary<string, Dictionary<string, DeliveryOptionsItem>> delivery_options { get; set; }

public class DeliveryOptionsItem
{
    public int price { get; set; }
    public string time { get; set; }
}

方式2:让DeliveryDetails类直接匹配JSON结构

让DeliveryDetails继承自字典类,这样它就能直接映射JSON中的嵌套结构:

public DeliveryDetails delivery_options { get; set; }

public class DeliveryDetails : Dictionary<string, Dictionary<string, DeliveryOptionsItem>>
{
}

public class DeliveryOptionsItem
{
    public int price { get; set; }
    public string time { get; set; }
}

补充说明

必须定义DeliveryOptionsItem类来映射price和time字段,否则内层的价格和时间信息也无法正确解析。

内容的提问来源于stack exchange,提问作者Sergii Popil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 22:07:12