的Json反序列化元组命名的变量

的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}] 
+1

只是可以肯定的。为什么使用元组而不是DateTime格式? – aloisdg

+0

你用什么来反序列化它?你有没有检查过最新版本支持命名的元组? –

+0

@aloisdg tks,但这与我将编辑以赋予其他命名变量而不是Year和Month –

Newtonsoft.Json尚未支持C#7元组,您可以通过此GitHub问题跟踪进度:https://github.com/JamesNK/Newtonsoft.Json/issues/1230

我建议你继续传递它作为第一个例子,如果你真的需要它被命名为MyNameA和MyNameB,那么你可以创建一个新的元组。