我有这样的课:

public class Pussy {
    public readonly int Meows;

    [JsonConstructor]
    private Pussy() { }

    public Pussy(int meows)
    {
        this.Meows = meows;
    }
}


当我尝试使用Json.NET对其进行序列化时,它可以正常工作:

{"Meows":3}


但是反序列化时,它只是在将Meows设置为0的类中创建。

怎么了?如何解决?

最佳答案

尝试对只读字段使用JsonProperty属性

[JsonProperty]
public readonly int Meows;


JsonConstructor属性用于非默认ctor。

[JsonConstructor]
public Pussy(int meows)

关于c# - 反序列化只读变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32888591/

10-13 06:56