2017-01-11 33 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 –