请看下面的解答。
ASP.NET中各种类型的JSON格式化:完整攻略
在ASP.NET开发中,经常需要将数据格式化为JSON格式进行传输。下面介绍ASP.NET中各种类型的JSON格式化方法。
1. DataTable
DataTable是ASP.NET中最常用的数据集合类型之一,如果要将DataTable格式化为JSON字符串,可以使用Newtonsoft.Json库的JsonConvert.SerializeObject方法。
示例代码:
using Newtonsoft.Json;
DataTable dt = new DataTable();
dt.Columns.Add("id", typeof(int));
dt.Columns.Add("name", typeof(string));
var dr = dt.NewRow();
dr["id"] = 1;
dr["name"] = "Apple";
dt.Rows.Add(dr);
string json = JsonConvert.SerializeObject(dt);
输出的JSON字符串如下:
[
{
"id": 1,
"name": "Apple"
}
]
2. DataSet
DataSet是包含多个DataTable的数据集合,在进行JSON格式化时,可以使用Newtonsoft.Json库的JsonConvert.SerializeObject方法。
示例代码:
using Newtonsoft.Json;
DataSet ds = new DataSet();
DataTable dt1 = new DataTable();
DataTable dt2 = new DataTable();
dt1.Columns.Add("id", typeof(int));
dt1.Columns.Add("name", typeof(string));
dt2.Columns.Add("id", typeof(int));
dt2.Columns.Add("price", typeof(decimal));
var dr1 = dt1.NewRow();
dr1["id"] = 1;
dr1["name"] = "Apple";
dt1.Rows.Add(dr1);
var dr2 = dt2.NewRow();
dr2["id"] = 1;
dr2["price"] = 5.00M;
dt2.Rows.Add(dr2);
ds.Tables.Add(dt1);
ds.Tables.Add(dt2);
string json = JsonConvert.SerializeObject(ds);
输出的JSON字符串如下:
{
"Table1": [
{
"id": 1,
"name": "Apple"
}
],
"Table2": [
{
"id": 1,
"price": 5.00
}
]
}
3. 匿名类型
匿名类型是一种临时定义的数据类型,可以用于存储从数据库或其他数据源查询出来的数据。要将匿名类型格式化为JSON字符串,可以使用Newtonsoft.Json库的JsonConvert.SerializeObject方法。
示例代码:
using Newtonsoft.Json;
var product = new { Id=1, Name="Apple", Price=5.00M };
string json = JsonConvert.SerializeObject(product);
输出的JSON字符串如下:
{
"Id": 1,
"Name": "Apple",
"Price": 5.00
}
4. 自定义对象
进行JSON格式化时,可以使用对象的属性进行序列化,也可以使用Json.NET的JsonProperty属性指定JSON对象的属性名。
示例代码:
using Newtonsoft.Json;
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
[JsonProperty(PropertyName = "price")]
public decimal CostPrice { get; set; }
}
var product = new Product {Id=1, Name="Apple", CostPrice=5.00M };
string json = JsonConvert.SerializeObject(product);
输出的JSON字符串如下:
{
"Id": 1,
"Name": "Apple",
"price": 5.00
}
以上就是ASP.NET中各种类型的JSON格式化方法的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:asp.net中各种类型的JSON格式化 - Python技术站