JSON c# 中的反序列化在所有数据成员中接收空值

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>

作出回应