asp.net 序列化 json 不用字段名作为 json名
大致如题.具体就是说数据库中有个表字段为ID,Name,age一般序列化后或者json类都是{"ID":11,"name":"sss","age":11}形式这就是和表明...
大致如题.具体就是说
数据库中有个表 字段 为 ID , Name , age
一般序列化后 或者 json类 都是 {"ID":11,"name":"sss","age":11}形式 这就是和表明一直
如果给每个json都专门写个很累人. 有没有一个类 能自定义 json名的 能给出具体实例 的 展开
数据库中有个表 字段 为 ID , Name , age
一般序列化后 或者 json类 都是 {"ID":11,"name":"sss","age":11}形式 这就是和表明一直
如果给每个json都专门写个很累人. 有没有一个类 能自定义 json名的 能给出具体实例 的 展开
1个回答
展开全部
你是说给每个表写个映射类很累人?
那就用语句查出之后DataTable之后直接转json
/// <summary>
/// 将datatable转换为json
/// </summary>
/// <param name="dt">Dt</param>
/// <returns>JSON字符串</returns>
public static string DataTableToJson(DataTable dt)
{
JavaScriptSerializer js = new JavaScriptSerializer();
System.Collections.ArrayList list = new System.Collections.ArrayList();
foreach (DataRow dr in dt.Rows)
{
System.Collections.Generic.Dictionary<string, object> drow = new System.Collections.Generic.Dictionary<string, object>();
foreach (DataColumn dc in dt.Columns)
{
drow.Add(dc.ColumnName, dr[dc.ColumnName]);
}
list.Add(drow);
}
//序列化
return js.Serialize(list);
}
追问
数据库中有个表 字段 为 ID , Name , age
在json输出 要吧这些 字段名都变,如 {"ID":11,"user_N":"sss","user_A":11}这样
追答
foreach (DataColumn dc in dt.Columns)
{
//那你就在这个位置,写个方法根据dc.ColumnName 设置新名字,把dc.ColumnName替换掉
drow.Add(dc.ColumnName, dr[dc.ColumnName]);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询