2017-01-11 58 views
0

接收空值下面是我的服務是在調用時返回有效的JSON:JSON反序列化在C#中的所有數據成員

[{ 
    "CCRQ": "2006/1/26 0:00:00", 
    "CLXH": "CA6510B1", 
    "CarBodyColor": "color" 
}] 

下面是包含我的代碼數據成員:

[DataContract] 
public class Response 
{ 
    [DataMember(Name = "CCRQ")] 
    public string CCRQ { get; set; } 

    [DataMember(Name = "CLXH")] 
    public string CLXH { get; set; } 

    [DataMember(Name = "CarBodyColor")] 
    public string CarBodyColor { get; set; } 
} 

不過我我正在提出服務請求並在所有數據成員中接收null。

爲什麼我在所有屬性中都爲null?

+1

是 'objResponse' 變空或不是?但無論如何,問題可能出現在「typeof(Response)」中,JSON類型爲「列表」,而不是「響應」。 – Julo

+0

從您使用'[DataContract]'我會假設您的Web服務正在使用WCF。你爲什麼要創建一個'HttpWebRequest'?您可以爲您的項目添加一個服務引用,併爲您處理所有的反序列化。 –

+0

@Julo,問題是由於沒有名單<>。問題已解決。謝謝:) –

回答

1

您的JSON是一個包含1個對象內容的數組。對於我所看到的,你的反序列化器需要一個對象。

嘗試爲響應

{ 
    "CCRQ": "2006/1/26 0:00:00", 
    "CLXH": "CA6510B1", 
    "CarBodyColor": "color" 
} 

或澆鑄響應objResponse as List<Response>

+0

上面的男人剛剛解決了我的問題:)謝謝你J. Vergeer –