簡體   English   中英

c#中的JSON反序列化在所有數據成員中接收空值

[英]JSON Deserialization in c# receiving null values in all data members

以下是我的服務在調用時返回的有效 JSON:

[{
   "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。

public static Response MakeRequest(string requestUrl)
{
    HttpWebRequest request = WebRequest.Create(requestUrl) as HttpWebRequest;
    using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
    {
        DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(typeof(Response));

        object objResponse = jsonSerializer.ReadObject(response.GetResponseStream());
        Response jsonResponse = objResponse as Response;
        return jsonResponse;
    }
}

為什么我的所有屬性都為空?

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

嘗試作為回應

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

或將響應轉換為objResponse as List<Response>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM