我正在使用使用json的API。我有一些我为模拟API而创建的类。为了简化生活,我的模型使用公共属性,当将json反序列化为对象时,Json.Net将使用这些属性。
我想使我的对象不可变,但我遇到了问题,因为如果我将我的属性设为只读,我就会破坏反序列化。有没有办法让我拥有不可变对象,并使用反序列化?
答案 0 :(得分:16)
我认为您应该可以使用JsonConstructorAttribute
。有关示例,请参阅this question。
答案 1 :(得分:14)
为构造函数提供与属性对应的参数。参数和属性的第一个字母的大小写不需要匹配。