在 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 数据并保存到数据库中。
首先,创建类来保存 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
}