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>
作出回应
下面是我的服务在调用时返回的有效 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>