在C#中以JSON格式反序列化POST数据

时间:2013-09-17 03:06:12

标签: c# .net json post

我需要在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数据并保存到数据库。

2 个答案:

答案 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 
}