2013-06-22 52 views
2

以下JSON給出ServiceStack.Text JSON反序列化

{"pusher":{"fullName":"Me","email":"[email protected]","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; } 
    } 

和deserialisation代碼IST:

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

現在我期待分支將是「默認」的修訂將是63

但兩者proeprties是沒有設置。你有什麼提示爲什麼我應該改變?

+1

這些屬性是內部提交陣列。 –

+0

哦,是的。多數民衆贊成,我忽略了這一點。現在它工作。謝謝 –

回答

2

這些屬性是內部提交陣列。你的類型應該反映你的JSON數據。你應該有這樣的模型。

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