将C#中的JSON反序列化为元组的LinkedList
我的HTML代码中有一个票证集合,我使用JQuery从中收集信息,并通过AJAX成功地将JSON发布到codebehind 以下是JSON文件:将C#中的JSON反序列化为元组的LinkedList,c#,json,deserialization,json-deserialization,C#,Json,Deserialization,Json Deserialization,我的HTML代码中有一个票证集合,我使用JQuery从中收集信息,并通过AJAX成功地将JSON发布到codebehind 以下是JSON文件: { 'arrayTickets': [ {"num":1,"rec":"SWAFAD","temp":"0","id":"f39443aa-1ae1-4d18-82b
{
'arrayTickets':
[
{"num":1,"rec":"SWAFAD","temp":"0","id":"f39443aa-1ae1-4d18-82b8-468f14dac507"},
{"num":1,"rec":"admin","temp":"0","id":"20bf1fea-b03e-4a28-922a-9618c8c8a73f"} ]
}
问题是我似乎无法将其反序列化为我想要的结构类型:
[WebMethod]
public static void cmd_gravar_Click(string arrayTickets)
{
JavaScriptSerializer json = new JavaScriptSerializer();
LinkedList<Tuple<int, string, string, string>> tickets = json.Deserialize<LinkedList<Tuple<int, string, string, string>>>(arrayTickets);
}
[WebMethod]
public static void cmd_gravar_Click(字符串arrayTickets)
{
JavaScriptSerializer json=新的JavaScriptSerializer();
LinkedList tickets=json.Deserialize(arrayTickets);
}
我得到一个错误:
没有为类型的定义无参数构造函数
'System.Tuple`4[[System.Int32,mscorlib,Version=4.0.0.0,
区域性=中性,PublicKeyToken=b77a5c561934e089],[System.String,
mscorlib,版本=4.0.0.0,区域性=中性,
PublicKeyToken=b77a5c561934e089],[System.String,mscorlib,
版本=4.0.0.0,区域性=中性,
PublicKeyToken=b77a5c561934e089],[System.String,mscorlib,
Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089]'
我想继续使用这个结构,因为我已经创建了一个工作方法,用它将数据保存到数据库中。这是在webforms中完成的
编辑:我记得使用VS2012时,.net反序列化程序存在元组问题。我认为JSON.net应该解决您的问题 用法:
var result = JsonConvert.DeserializeObject<LinkedList<Tuple<int, string, string, string>>>(arrayTickets);
var result=JsonConvert.DeserializeObject(arrayTickets);
谢谢。无法安装该软件包,因为我在VS2012中,显然我需要NuGet 2.12+,但它不可用。等等,我不需要安装它,我可以运行代码。问题是变量“result”的项数正确,但int值都是0,字符串都是null。