【问题标题】:Is there a way to use Json.Net deserialization with immutable classes?有没有办法将 Json.Net 反序列化与不可变类一起使用?
【发布时间】:2012-01-31 19:30:17
【问题描述】:

我正在使用一个使用 json 的 API。我创建了一些类来为 API 建模。为了让生活更轻松,我的模型使用公共属性,而 Json.Net 在将 json 反序列化为对象时会使用这些属性。

我想让我的对象不可变,但我遇到了一个问题,因为如果我让我的属性只读,我会破坏反序列化。有没有办法让我拥有不可变的对象并使用反序列化?

【问题讨论】:

    标签: c# json.net immutability


    【解决方案1】:

    为构造函数提供与属性对应的参数。参数和属性的首字母大小写不需要匹配。

    【讨论】:

      【解决方案2】:

      我认为您应该可以使用JsonConstructorAttribute。示例见this question

      【讨论】:

      • 我想你可能忘记粘贴链接了 :)
      • 如果只有一个构造函数,则不需要JsonConstructorAttribute
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-13
      • 2014-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-15
      • 1970-01-01
      相关资源
      最近更新 更多