我需要在C#中捕获/反序列化,只使用内置的.NET库,从JavaScript文件接收JSON格式的POST数据。
JSON格式为:
{"URLs":[{"url_name":"Google", "url_address":"http://www.google.com/"}, {"url_name":"Yahoo", "url_address":"http://www.yahoo.com/"},{"url_name":"FB", "url_address":"http://www.fb.com/"},{"url_name":"MegaSearches", "url_address":"http://www.megasearches.com/"}]}
JavaScript文件在http://www.mysite.com/json.aspx中POST JSON数据,我需要在C#中的.aspx代码隐藏中捕获JSON数据并保存到数据库。
答案 0 :(得分:2)
首先,创建用于保存URL数据的类,如下所示:
public class UrlData
{
public List<Url> URLs {get;set;}
}
public class Url
{
public string url_address {get;set;}
public string url_name {get;set;}
}
现在,您可以将JSON数据反序列化为对象,如下所示:
UrlData theUrlData = new JavaScriptSerializer().Deserialize<UrlData>(jsonResult);
注意:jsonResult
是从您获取数据的地方返回的JSON数据。
答案 1 :(得分:0)
为传入的JSON数据创建视图模型类。
public class UrlHelper {
public string url_name {get;set;}
public string url_address {get;set;}
}
在代码后面的方法中,post方法接受数据
public YourJsonFormPost(List<UrlHelper> URLs){
//do your work
}