[英]JSON deserialization returns {null,null} for KeyValuePair
我已經在 JSON 中聲明了以下鍵:值對:
"saleParameters": [
{"saleName":"FlashSale2018"},
]
我在我的合同類中使用以下屬性映射上述內容:
[JsonProperty("saleParameters")]
public IEnumerable<KeyValuePair<string,string>> SaleParameters { get; set; }
但是由於某種原因,反序列化后我總是在 SaleParameters 中收到空值。 我正在使用 NewtonSoft.JSON 進行 JSON 序列化/反序列化,代碼在 .net 核心上運行。
關於為什么會發生這種情況以及如何解決這個問題的任何想法?
問題是您當前的代碼需要這樣的 JSON :
"saleParameters": [
{"Key": "saleName", "Value": "FlashSale2018"}]
]
您應該改用字典:
public IEnumerable<IDictionary<string,string>> SaleParameters { get; set; }
這將反序列化“saleName”作為它們的鍵和“FlashSale2018”作為值。 而且,如果你真的需要IEnumerable<KeyValuePair<string, string>>
,你可以調用SaleParameters.SelectMany(p => p). ToEnumerable()
SaleParameters.SelectMany(p => p). ToEnumerable()
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.