我无法反序列化我的JSON字符串.我有一个person带有公共属性的类,类型为int,first name和last name.我想以JSON格式传递这些对象的数组,并将它们反序列化为一个列表,以便我可以在服务器上循环它们,但ASP.NET说不支持被反序列化为数组.我已经验证了我正在制作的JSON,它是有效的.ASP.NET在反序列化之前需要具有哪些特殊的JSON?有趣的是,如果我将列表<person>对象序列化为JSON,它看起来就像我正在生成的JSON.我必须遗漏一些东西......为了澄清,我正在使用ASP.NET Ajax库进行反序列化.这是我从Web服务中获得的:
{"Message":"Type\u0027System.Collections.Generic.IDictionary`2 [[System.String,mscorlib,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089],[System.Object,mscorlib,Version = 2.0 .0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089]]\u0027不支持反序列化数组."
实际上不幸的是,这似乎与反序列化没有任何关系,看起来你无法将一组JSON对象传递给asmx web服务.我对么?如果你不能这样做,是否可以将一组JSON对象传递给Web服务并使用ASP.NET和C#在服务器上处理它们?
好的,这是我的代码.这是人类:
public class person
{
public person()
{
//
// TODO: Add constructor logic here
//
}
public int seq
{
get;
set;
}
public string firstName
{
get;
set;
}
public string lastName
{
get;
set;
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的JSON字符串:
[{"seq":1,"firstName":"Chris","lastName":"Westbrook"},
{"seq":2,"firstName":"sayyl","lastName":"westbrook"}]
Run Code Online (Sandbox Code Playgroud)
这是我正在使用的代码
[WebMethod]
public void updatePeople(string json)
{
IList<person> people =
new JavaScriptSerializer().Deserialize<IList<person>>(json);
//do stuff... …Run Code Online (Sandbox Code Playgroud)