ServiceStack.Text JSON反序列化

时间:2013-06-22 19:37:35

标签: json servicestack

给出了以下json

{"pusher":{"fullName":"Me","email":"foo@fomail.biz","accesstoken":false},"repository":{"url":"https://ffff.com/Code/"},"commits":[{"id":"d83ee17aa40bc79b9f4dcdf58a099b424e08745b","revision":63,"branch":"default","tags":["tip"]}]}

现在我想将这个json反序列化为一个对象。该类定义如下:

 public sealed class KilnCommitPayload
    {
        public string branch { get; set; }

        public int revision { get; set; }
    }

和反序列化代码ist:

var result = JsonSerializer.DeserializeFromString<KilnCommitPayload>(content);

现在我预计该分支将是“默认”,修订将是63

但两个都没有设定。你有任何暗示为什么以及我应该改变什么?

1 个答案:

答案 0 :(得分:2)

这些属性位于提交数组中。您的类型应该反映您的JSON数据。你应该有这样的模型。

public class Payload
{
    public Pusher Pusher { get; set; } 
    public Repository { get; set; }
    public IEnumerable<KilnCommitPayload> { get; set; }
}