1

我需要在 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中发布 JSON 数据,我需要在 C# 中的 .aspx 代码隐藏中捕获 JSON 数据并保存到数据库。

4

2 回答 2

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 数据。

于 2013-09-17T03:12:17.693 回答
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 
}

于 2013-09-17T03:23:13.560 回答