的Json反序列化元组命名的变量
问题描述:
我有一个DTO以下属性:的Json反序列化元组命名的变量
public IReadOnlyList<(int MyNameA, int MyNameB)> Occurences { get; set; }
如果我把下面的JSON有效载荷到我的MVC控制器,它炒菜:
"Occurences":[{"Item1" : 10, "Item2" : 2}]
但是如果我送
则控制器会看到以下(0,0)
而非(10,2)
:
"Occurences":[{"MyNameA" : 10, "MyNameB" : 2}]
答
Newtonsoft.Json尚未支持C#7元组,您可以通过此GitHub问题跟踪进度:https://github.com/JamesNK/Newtonsoft.Json/issues/1230。
我建议你继续传递它作为第一个例子,如果你真的需要它被命名为MyNameA和MyNameB,那么你可以创建一个新的元组。
只是可以肯定的。为什么使用元组而不是DateTime格式? – aloisdg
你用什么来反序列化它?你有没有检查过最新版本支持命名的元组? –
@aloisdg tks,但这与我将编辑以赋予其他命名变量而不是Year和Month –