gpt4 book ai didi

c# - JSON 反序列化为 KeyValuePair 返回 {null,null}

转载 作者:行者123 更新时间:2023-11-30 22:58:54 27 4
gpt4 key购买 nike

我已经在 J​​SON 中声明了以下键值对:

"saleParameters": [
{"saleName":"FlashSale2018"},
]

我在我的契约(Contract)类中使用以下属性映射以上内容:

    [JsonProperty("saleParameters")]
public IEnumerable<KeyValuePair<string,string>> SaleParameters { get; set; }

但出于某种原因,我在反序列化后总是在 SaleParameters 中收到空值。我正在使用 NewtonSoft.JSON 进行 JSON 序列化/反序列化,代码在 .net 核心上运行。

知道为什么会发生这种情况以及如何解决这个问题吗?

最佳答案

问题是你的 current code expects JSON like this :

"saleParameters": [
{"Key": "saleName", "Value": "FlashSale2018"}]
]

你应该改用字典:

public IEnumerable<IDictionary<string,string>> SaleParameters { get; set; }

这会将“saleName”反序列化为键,将“FlashSale2018”反序列化为值。而且,如果你真的需要 IEnumerable<KeyValuePair<string, string>> ,您可以调用SaleParameters.SelectMany(p => p). ToEnumerable() .

关于c# - JSON 反序列化为 KeyValuePair 返回 {null,null},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52638946/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com