利用C#Newtownsoft JSON库...我遇到了这个问题。Newtonsoft JSON反序列化问题[错误转换值类型]
要设置舞台...
我有一个RESTful Web服务这样JSON:
[{"CorporateArea":"Brampton","ServiceAddress":"321 Heart Lake Road","VendorName":"Enbridge Gas Distribution Inc","MeterNumber":"502105","RateClass":"NG-R6","Department":"22603","Account":"12008","VendorID":"0000001195","MeterLevelID":2882,"SiteAddressID":468,"MappingLocation":"Beckett Sproule","ElectricalBilling":"","EnergyLine":"","CorporateGroup":"Public Works"}]
我也有这些C#类:
public class AccountInfo
{
[JsonProperty("Account")]
public string Account { get; set; }
[JsonProperty("CorporateArea")]
public string CorporateArea { get; set; }
[JsonProperty("CorporateGroup")]
public string CorporateGroup { get; set; }
[JsonProperty("Department")]
public string Department { get; set; }
[JsonProperty("ElectricalBilling")]
public string ElectricalBilling { get; set; }
[JsonProperty("EnergyLine")]
public string EnergyLine { get; set; }
[JsonProperty("MappingLocation")]
public string MappingLocation { get; set; }
[JsonProperty("MeterLevelID")]
public string MeterLevelID { get; set; }
[JsonProperty("MeterNumber")]
public string MeterNumber { get; set; }
[JsonProperty("RateClass")]
public string RateClass { get; set; }
[JsonProperty("ServiceAddress")]
public string ServiceAddress { get; set; }
[JsonProperty("SiteAddressID")]
public string SiteAddressID { get; set; }
[JsonProperty("VendorID")]
public string VendorID { get; set; }
[JsonProperty("VendorName")]
public string VendorName { get; set; }
}
public class JSONArray {
public IList<AccountInfo> AccountsInfo { get; set; }
}
从这些,我叫做Newtownsoft方法:
JSONArray Accounts = JsonConvert.DeserializeObject<JSONArray> (responseBody,
new JsonSerializerSettings
{
NullValueHandling = NullValueHandling.Ignore
});
但每次我这样做,我得到的异常Newtonsoft.Json.JsonSerializationException 出现错误消息:
错误转换值“{” CorporateArea“:”宾顿“‘ServiceAddress’:” 321心湖道“,”VendorName“,”Enbridge Gas Distribution Inc“,”MeterNumber“,”502105“,”RateClass“,”NG-R6“,”Department“,”22603“,”Account“,”12008“ VendorID“:”0000001195“,”MeterLevelID“:2882,”SiteAddressID“:468,”MappingLocation“:”Beckett Sproule“,”ElectricalBilling“:”“,”EnergyLine“:”“,”CorporateGroup“ }]“键入'TestWebService_Consume.JSONArray'。路径“”,1号线,位置421
我试着用JSON字符串搞乱,所以它不是一个数组,铸造成一个简单的AccountsInfo对象,它返回相同的错误。
我一定在做错事,但自从我使用Newtonsoft JSON库以来已经有一段时间了,所以我在这里可能会遇到什么问题。
的可能的复制[反序列化JSON与Json.net对象阵列(http://stackoverflow.com/questions/18192357/deserializing-json-object-array-with-json-net) –