把DataTable 转换成Json格式,适用于EasyUI 绑定DataGrid

本文转载:http://www.cnblogs.com/liang--liang/archive/2013/02/05/2893030.html

public static string DataTable2Json(System.Data.DataTable dt)
        {
            System.Text.StringBuilder jsonBuilder = new System.Text.StringBuilder();
            jsonBuilder.Append("{");
            jsonBuilder.AppendFormat("\"total\":{0}, ", dt.Rows.Count);
            jsonBuilder.Append("\"rows\":[ ");
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                jsonBuilder.Append("{");
                for (int j = 0; j < dt.Columns.Count; j++)
                {
                    jsonBuilder.Append("\"");
                    jsonBuilder.Append(dt.Columns[j].ColumnName);
                    jsonBuilder.Append("\":\"");
                    jsonBuilder.Append(dt.Rows[i][j].ToString());
                    jsonBuilder.Append("\",");
                }
                jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
                jsonBuilder.Append("},");
            }
            jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
            jsonBuilder.Append("]");
            jsonBuilder.Append("}");
            return jsonBuilder.ToString();
        }

  本文学习中使用的:

  int pagNum = int.Parse(Request["page"].ToString());
            int pageSize = int.Parse(Request["rows"].ToString());
            string jsonStr = string.Empty;
            UserInfoDataContextDataContext dbContext = new UserInfoDataContextDataContext("server=.;database=NorthWind;uid=sa;pwd=123456");
            var userInfoLst = dbContext.UserInfo.Take(pageSize * pagNum).Skip((pagNum - 1) * pageSize).Select(s => s);
            jsonStr = JsonHelper.ToJson(userInfoLst);
            System.Text.StringBuilder jsonBuilder = new System.Text.StringBuilder();
            jsonBuilder.Append("{");
            jsonBuilder.AppendFormat("\"total\":{0}, ", dbContext.UserInfo.Count());
            jsonBuilder.Append("\"rows\":");
            jsonBuilder.AppendFormat("{0}", jsonStr);
            jsonBuilder.Append("}");
            return Content(jsonBuilder.ToString());

  JsonHelp代码段:

    /// <summary>
    /// Json数据转换封装
    /// </summary>
    public static class JsonHelper
    {
        public static String ToJson(object obj)
        {
            return Newtonsoft.Json.JsonConvert.SerializeObject(obj);
        }
   }

  注意返回的Json格式,否则会导致datagrid不会显示数据的。

时间: 2024-10-17 10:35:23

把DataTable 转换成Json格式,适用于EasyUI 绑定DataGrid的相关文章

C# DataTable 转换成JSON数据

原文:C# DataTable 转换成JSON数据 using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; using System.Web; using System.Web.Script.Serialization; namespace WsDemo { public class DataTableConvertJson { #region

C#将datatable的某一列转换成json格式的字符串

将datatable的某一列转换成json格式的字符串(转换完后自己在字符串前后加{}) /// <summary> ///DataTable装换 Column数据 组合成json 现在的格式  /// </summary> /// <param name="dt"></param> /// <param name="rowIndex">datatable第几行</param> /// <

.NET中把DataTable转换成JSON的总结

最近在做公司的一个project,其中有一部分,要求浏览器端通过jquery ajax调用服务器端返回json格式的多条数据.网上搜索了一下,找到下面两个方法在.NET中生成json. 方法一:.NET Framework 3.0及更早的版本: public static string GetJSONString(DataTable Dt) { string[] StrDc = new string[Dt.Columns.Count]; string HeadStr = string.Empty

C#自定义将各种对象转换成JSON格式的类

这个C#封装类可以用于将各种格式的数据转换成JSON格式,包括List转换成Json,普通集合转换Json ,DataSet转换为Json ,Datatable转换为Json ,DataReader转换为Json等,如果你需要将对象转换成JSON,可以使用这个类. using System; using System.Collections.Generic; using System.Text; using System.Data; using System.Reflection; using

DataTable 转换成 Json的3种方法

在web开发中,我们可能会有这样的需求,为了便于前台的JS的处理,我们需要将查询出的数据源格式比如:List<T>.DataTable转换为Json格式.特别在使用Extjs框架的时候,Ajax异步请求的数据格式就是Json.鉴于此,我今天来分享将DataTable 转换成 Json的3种方法.换句话说如何在ASP.NET将一个DataTable序列化为 Json数组.或者如何从一个DataTable返回一个Json字符串.这篇文章将采用StringBuilder,JavaScriptSeri

java将XML文档转换成json格式数据

功能 将xml文档转换成json格式数据 说明 依赖包: 1. jdom-2.0.2.jar : xml解析工具包; 2. fastjson-1.1.36.jar : 阿里巴巴研发的高性能json工具包 程序源码 package com.xxx.open.pay.util; import com.alibaba.fastjson.JSONObject; import org.jdom2.Element; import org.jdom2.JDOMException; import org.jdo

Map对象转换成Json格式的String字符串

1 //action处理页面发来的String,put到map转换成Json格式的String字符串 2 @RequestMapping("/seleteOaOrder") 3 @ResponseBody 4 public Object seleteOaOrder(String param){//param = "小明"; 5 System.out.println("+++++++++++++++++param:"+param); 6 if(pa

数据库记录转换成json格式 (2011-03-13 19:48:37) (转)

http://blog.sina.com.cn/s/blog_621768f30100r6v7.html 数据库记录转换成json格式 (2011-03-13 19:48:37) 转载▼ 标签: 杂谈   <?php/1.在company数据user表中取出10条数据,保存为数组2.在将数组转化为json格式,传递给js3.用json解析器将传递过来的json字符串转化为json对象,4.用document.write输出语句打印在页面上*/ $conn = mysql_connect(“loc

C# 将MSMQ消息转换成Json格式 【优化】

C# 将MSMQ消息转换成Json格式  [优化] 转换函数: private string ConvertToJSON(string label, string body) { //TODO: convert to json string[] Lablelist = label.Split('|'); string[] Bodylist = body.Split('|'); string JsonStr = "{\""; NameValueCollection nvc =