C# - 将 JSON 反序列化为 ValueTuple

2023-12-03

我正在尝试反序列化[{"foo": "1", "bar": false}, {"foo": "2", "bar": false}] into List<(string, bool)>类型:

JsonConvert.DeserializeObject<List<(string foo, bool bar)>>(json)  

但总是得到默认值列表 -(null, false).

如何实现正确的反序列化?

附:我对用于此目的的任何模型/类都不感兴趣。我需要确切的值元组。


在 C#9 中你可以创建一个record并使用生成的解构函数创建 ValueTuple。我确实看到您不想声明模型,但这是我发现的最接近的方法:

声明记录:

private record FooBar(string foo, bool bar);

反序列化和解构:

(string foo, bool bar) = JsonConvert.DeserializeObject<FooBar>(json);

or

var (foo, bar) = JsonConvert.DeserializeObject<FooBar>(json);

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C# - 将 JSON 反序列化为 ValueTuple 的相关文章