【发布时间】:2016-01-31 01:23:55
【问题描述】:
我在 Visual Studio 2013 中做一个 WebApi 方法,我想反序列化一个类类型。我的班级是这样的
[JsonObject]
class JOTA
{
[JsonProperty("ProductId")]
public int ProductId { get; set; }
[JsonProperty("Name")]
public string Name { get; set; }
}
我的电话是这样的。
public void ReturnListProd(JOTA PP)
{
JOTA product = Newtonsoft.Json.JsonConvert.DeserializeObject<JOTA>(PP);
}
我有一个编译错误
'Network.Json.Json.Converter[] has some invalid argument'
但是,如果定义一个 ArrayList
public void ReturnListProd(ArrayList PP)
{
JOTA product = Newtonsoft.Json.JsonConvert.DeserializeObject<JOTA>(PP[0].ToString());
}
我没有错误。但在这种情况下,它对我需要的东西没有帮助。
我错过了什么? 谢谢
【问题讨论】:
-
第一个例子没有意义,为什么要取
JOTA对象(不是序列化版本)并再次将其反序列化为 JOTA 对象?在这种情况下,你的方法体只是JOTA product = PP;另外,为什么你的方法返回void,你只是把结果扔掉了?第二个示例不是编译时错误,但我敢打赌它会是运行时错误。 -
DeserializeObject方法将string作为参数,但您给它的是JOTA对象。该错误会告诉您确切的问题所在。
标签: c# class arraylist asp.net-web-api json-deserialization