2012-09-05 92 views
1

我碰到下面的JSON,我想轉換到使用RestSharpRestSharp:轉換結果

{ 
    "valid":true, 
    "data":[ 
    { 
     "dealerId":"4373", 
     "branchId":"4373", 
    } 
    ] 
    } 

我想轉換爲業務對象:

public class Dealer 
{ 
    public string dealerId ; 
    public string branchId; 
    } 

但是失敗了,雖然JSON很好:

 var client = new RestClient("http://www.????.com.au"); 
     var request = new RestRequest(string.Format("service/autocomplete/dealer/{0}/{1}.json", suburb.PostCode, suburb.City.Trim().Replace(" ", "%20")), Method.GET); 
     var response2 = client.Execute<Dealer>(request); 
     return response2.Data; 

回答

1

您的業務對象與您回覆的響應JSON不匹配。如果你希望你的反應序列化,你的C#的對象會看起來像

public class DealerResponse 
{ 
    public bool valid { get;set; } 
    List<Dealer> data { get;set; } 
} 

public class Dealer 
{ 
    public string dealerId;   
    public string branchId; 
} 

我沒有測試此代碼,但即使你是隻在「數據」的信息感興趣,你的反應C#對象仍需要表示整個JSON響應才能正確序列化。

希望有所幫助。

+0

非常好。我知道必須有一個簡單的方法來做到這一點。奇蹟般有效。投票++ –