zoukankan      html  css  js  c++  java
  • Datatable 转换成Json Jimmy

    先上来代码:

     public static string DataTableToJSON(DataTable dt, string dtName)
        {
            StringBuilder sb = new StringBuilder();
            StringWriter sw = new StringWriter(sb);
    
            using (JsonWriter jw = new JsonTextWriter(sw))
            {
                JsonSerializer ser = new JsonSerializer();
                jw.WriteStartObject();
                jw.WritePropertyName(dtName);
                jw.WriteStartArray();
                foreach (DataRow dr in dt.Rows)
                {
                    jw.WriteStartObject();
                 
                    foreach (DataColumn dc in dt.Columns)
                    {
                        jw.WritePropertyName(dc.ColumnName);
                        ser.Serialize(jw, dr[dc].ToString());
                    }
                   
                    jw.WriteEndObject();
                }
                jw.WriteEndArray();
                jw.WriteEndObject();
    
                sw.Close();
                jw.Close();
    
            }
    
            return sb.ToString();
        }

    例如上传一个dt  得到一个字符串

     string jsonData = JsonHelper.DataTableToJSON(dt, "Products"); 

    {"Products":[{"orderid":"11077","customerid":"RATTC","shipname":"Rattlesnake Canyon Grocery","shipcity":"Albuquerque","RowNumber":"1"},{"orderid":"11076","customerid":"BONAP","shipname":"Bon app'","shipcity":"Marseille","RowNumber":"2"},{"orderid":"11075","customerid":"RICSU","shipname":"Richter Supermarkt","shipcity":"Genève","RowNumber":"3"},{"orderid":"11074","customerid":"SIMOB","shipname":"Simons bistro","shipcity":"Kobenhavn","RowNumber":"4"},{"orderid":"11073","customerid":"PERIC","shipname":"Pericles Comidas clásicas","shipcity":"México D.F.","RowNumber":"5"},{"orderid":"11072","customerid":"ERNSH","shipname":"Ernst Handel","shipcity":"Graz","RowNumber":"6"},{"orderid":"11071","customerid":"LILAS","shipname":"LILA-Supermercado","shipcity":"Barquisimeto","RowNumber":"7"},{"orderid":"11070","customerid":"LEHMS","shipname":"Lehmanns Marktstand","shipcity":"Frankfurt a.M.","RowNumber":"8"},{"orderid":"11069","customerid":"TORTU","shipname":"Tortuga Restaurante","shipcity":"México D.F.","RowNumber":"9"},{"orderid":"11068","customerid":"QUEEN","shipname":"Queen Cozinha","shipcity":"Sao Paulo","RowNumber":"10"},{"orderid":"11067","customerid":"DRACD","shipname":"Drachenblut Delikatessen","shipcity":"Aachen","RowNumber":"11"},{"orderid":"11066","customerid":"WHITC","shipname":"White Clover Markets","shipcity":"Seattle","RowNumber":"12"},{"orderid":"11065","customerid":"LILAS","shipname":"LILA-Supermercado","shipcity":"Barquisimeto","RowNumber":"13"},{"orderid":"11064","customerid":"SAVEA","shipname":"Save-a-lot Markets","shipcity":"Boise","RowNumber":"14"},{"orderid":"11063","customerid":"HUNGO","shipname":"Hungry Owl All-Night Grocers","shipcity":"Cork","RowNumber":"15"},{"orderid":"11062","customerid":"REGGC","shipname":"Reggiani Caseifici","shipcity":"Reggio Emilia","RowNumber":"16"},{"orderid":"11061","customerid":"GREAL","shipname":"Great Lakes Food Market","shipcity":"Eugene","RowNumber":"17"},{"orderid":"11060","customerid":"FRANS","shipname":"Franchi S.p.A.","shipcity":"Torino","RowNumber":"18"},{"orderid":"11059","customerid":"RICAR","shipname":"Ricardo Adocicados","shipcity":"Rio de Janeiro","RowNumber":"19"},{"orderid":"11058","customerid":"BLAUS","shipname":"Blauer See Delikatessen","shipcity":"Mannheim","RowNumber":"20"}]}

    很明显得到了一个json集合

  • 相关阅读:
    阿里巴巴开源故障注入工具_chaosblade
    一步一步解决centos6.5配置无线网卡的问题
    python自动化测试三部曲之request+django实现接口测试
    python自动化测试三部曲之unittest框架
    python子类如何继承父类的实例变量?
    tp5.0 的 系统变量
    tp5.1 相同控制器不同方法session无法取出的问题
    php 常用自定义函数
    tp5.1 配置多个项目共用同一个核心库
    git LF 和 CRLF换行的问题
  • 原文地址:https://www.cnblogs.com/DemoLee/p/2441728.html
Copyright © 2011-2022 走看看