【问题标题】:Json deserializing Tuples with named variablesJson 使用命名变量反序列化元组
【发布时间】:2017-10-09 07:48:41
【问题描述】:

我在 DTO 中有以下属性:

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}]

【问题讨论】:

  • 只是为了确定。为什么使用元组而不是 DateTime 格式?
  • 你用什么反序列化它?您是否检查过最新版本是否支持命名元组?
  • @aloisdg tks 但这与我将编辑以提供除年和月之外的其他命名变量的问题无关
  • @François 好的。我很高兴在说更多之前先问一下:)

标签: c# json json.net tuples


【解决方案1】:

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

我建议您继续将它作为第一个示例传递,如果您确实需要将其命名为 MyNameA 和 MyNameB,那么您可以从旧的元组创建一个新的元组。

【讨论】:

    猜你喜欢
    • 2015-03-18
    • 1970-01-01
    • 2020-02-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多