带折叠的JsonConvert.DeserializeObject

时间:2016-09-19 19:00:43

标签: c# json.net

如何指定折叠?

这是我的json:

{
    "result":
    {
        "code": "123",
        "version": "1.2.3"
    },
    "error": null
}

这是我的班级,我想要反序列化:

public class Info
{
    [JsonProperty("code")]
    public string Code { get; set; }

    [JsonProperty("version")]
    public string Version { get; set; }

    [JsonProperty("error")]
    public string Error { get; set; }
}

像这样调用:

var info = JsonConvert.DeserializeObject<Info>(json);

那么,无论如何我可以在code部分指定versionresult吗?我相信我需要使用JsonSerializeSettings或类似的东西。

1 个答案:

答案 0 :(得分:3)

如果您能够修改您的类,那么您可以创建一个包含子属性的第二个类:

public class Info
{
    [JsonProperty("result")]
    public Result Result { get; set; }

    [JsonProperty("error")]
    public string Error { get; set; }
}

public class Result
{
    [JsonProperty("code")]
    public string Code { get; set; }

    [JsonProperty("version")]
    public string Version { get; set; }
}