【发布时间】:2023-02-01 00:59:13
【问题描述】:
我对以下最小代码有疑问:
[Fact]
public void DeserializeKeyValuePair()
{
string text = "{\"offer\": 12432515239}";
KeyValuePair<string, long> test = JsonSerializer.Deserialize<KeyValuePair<string, long>>(text);
}
在 .net 7 中,此代码按预期工作。
.net 6 依次显示无法转换键值对的错误。
System.Text.Json.JsonException :
The JSON value could not be converted to System.Collections.Generic.KeyValuePair`2[System.String,System.Int64].
Path: $.offer | LineNumber: 0 | BytePositionInLine: 9.
不幸的是,由于与另一个重要的库不兼容,我无法将我的项目升级到 .net 7。
也许 Newtonsoft.Json 可以做到这一点,但我正在努力将第三方库保持在绝对最低限度。我也很惊讶我没有在互联网上找到更多关于这个问题的参考资料。
有没有办法解决这个问题?
【问题讨论】:
标签: c# .net deserialization system.text.json