我试图反序列化JSON在我的对象:C#.net反序列化JSON
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
public class FormData
{
public string audience { get; set; }
public Calendar[] calendar { get; set; }
public FormData()
{
//
// TODO: Add constructor logic here
//
}
public class Calendar
{
public Quarter quarter { get; set; }
}
public class Quarter
{
public int qtrNumber { get; set; }
public string qtrString { get; set; }
public int[] qtrTools { get; set; }
public int qtrYear { get; set; }
}
}
这里是我的处理程序:
<%@ WebHandler Language="C#" Class="ToolHandler" %>
using System;
using System.Web;
using System.Web.Script.Serialization;
using System.Text;
using System.IO;
public class ToolHandler : IHttpHandler {
public void ProcessRequest(HttpContext context)
{
HttpRequest Request = context.Request;
HttpResponse Response = context.Response;
JavaScriptSerializer serializer = new JavaScriptSerializer();
Response.ContentType = "text/plain";
try
{
string strJson = new StreamReader(Request.InputStream).ReadToEnd();
//deserialize the object
FormData formData = serializer.Deserialize<FormData>(strJson);
if (formData != null)
{
Response.Write("Success!!");
}
else
{
Response.Write("No Data");
}
}
catch (Exception ex)
{
Response.Write("Error :" + ex.Message);
}
}
public bool IsReusable {
get {
return false;
}
}
}
JSON:
{
"audience": "8",
"calendar": [
{
"qtrNumber": 1,
"qtrYear": 2016,
"qtrString": "1st Quarter",
"qtrTools": [
"3",
"4"
]
},
{
"qtrNumber": 2,
"qtrYear": 2016,
"qtrString": "2nd Quarter",
"qtrTools": []
},
{
"qtrNumber": 3,
"qtrYear": 2016,
"qtrString": "3rd Quarter",
"qtrTools": []
},
{
"qtrNumber": 4,
"qtrYear": 2016,
"qtrString": "4th Quarter",
"qtrTools": []
}
]
}
后,我看到了什么此行的执行:
FormData formData = serializer.Deserialize<FormData>(strJson);
formData对象具有4个元素的数组的适当观众和日历,但所有calendar []。quarter对象都为null。请帮助))
看看你的json ...哪里'季:' – ragerory