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

本文关键字:反序列化 POST 数据 格式 JSON 中以 | 更新日期: 2023-09-27 18:31:45

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

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

首先,创建类来保存 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 数据。

为传入的 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 
}