1

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web; using System.Data;
using System.Collections;
using System.Web.Script.Serialization; /// <summary>
///JsonHelper 的摘要说明
/// </summary>
public class JsonHelper
{
public JsonHelper()
{
//
//TODO: 在此处添加构造函数逻辑
//
} #region Json 与 DataTable 的相互转换 /// <summary>
/// Json 字符串转换为DataTable数据集合
/// </summary>
/// <param name="strJson">待转换的Json字符串</param>
/// <returns>返回DataTable集合</returns>
public static DataTable JsonToDataTable(string strJson)
{
DataTable dt = new DataTable(); //实例化
JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();
javaScriptSerializer.MaxJsonLength = Int32.MaxValue; //取得最大数值 ArrayList arrayList = javaScriptSerializer.Deserialize<ArrayList>(strJson);
if (arrayList.Count > )
{
foreach (Dictionary<string, object> dic in arrayList)
{
if (dic.Keys.Count<string>() == )
{
return dt;
}
if (dt.Columns.Count == )
{
foreach (string key in dic.Keys)
{
dt.Columns.Add(key, dic[key].GetType());
}
}
DataRow dataRow = dt.NewRow();
foreach (string key in dic.Keys)
{
dataRow[key] = dic[key];
} dt.Rows.Add(dataRow); //循环添加行到DataTable中
}
}
return dt;
} /// <summary>
/// DataTable 对象 转换为Json 字符串
/// </summary>
/// <param name="dt">带转换的DataTable数据集合</param>
/// <returns>返回Json字符串</returns>
public static string DataTableToJson(DataTable dt)
{
JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();
javaScriptSerializer.MaxJsonLength = Int32.MaxValue; //取得最大数值 ArrayList arrayList = new ArrayList();
foreach (DataRow dataRow in dt.Rows)
{
Dictionary<string, object> dic = new Dictionary<string, object>(); //实例化一个参数集合
foreach (DataColumn dataColumn in dt.Columns)
{
dic.Add(dataColumn.ColumnName, dataRow[dataColumn.ColumnName].ToString());
}
arrayList.Add(dic); //ArrayList集合中添加键值
} return javaScriptSerializer.Serialize(arrayList); //返回一个json字符串
} #endregion Json 与 DataTable 的相互转换 }

2

CollatingOfData 之 JsonHelper的更多相关文章

  1. JSON扩展类——JsonHelper

    1.引用Newtonsoft.Json库(JSON.NET). 2.复制粘贴JsonHelper吧. 源代码: using System; using System.Collections.Gener ...

  2. JsonHelper MergeJsonTemplate

    namespace Test { using Newtonsoft.Json; using System; using System.Collections.Generic; using System ...

  3. JsonHelper developed by using Newtonsoft.Json.NET, Deserialize to <T> object , XmlToJson/JsonToXml, QuoteName by using JToken Path.

    namespace TestConsoleApplication { using System; using System.Diagnostics; using System.Threading; u ...

  4. 【C#公共帮助类】JsonHelper 操作帮助类, 以后再也不用满地找Json了,拿来直接用

     四个主要操作类:JsonConverter .JsonHelper .JsonSplit .AjaxResult 一.JsonConverter: 自定义查询对象转换动态类.object动态类转换j ...

  5. C#序列化及反序列化Json对象通用类JsonHelper

    当今的程序界Json大行其道.因为Json对象具有简短高效等优势,广受广大C#码农喜爱.这里发一个序列化及反序列化Json对象通用类库,希望对大家有用. public class JsonHelper ...

  6. asp.net的JSONHelper 类

    调用方法: ){    jsons = json.ToString();}else{    jsons = @"{success:false}";}return jsons; JS ...

  7. C# jsonhelper

    using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Sc ...

  8. JsonHelper

    .net下的json序列化在以前没有Newtonsoft.Json崭露头角之前采用System.Web.Script.Serialization命名空间下的JavaScriptSerializer对象 ...

  9. JsonHelper类(序列化和反序列化辅助类)

       1: using System; 2: using System.Collections.Generic; 3: using System.Linq; 4: using System.Web; ...

随机推荐

  1. CentsOS7 网络自动启动

    虚拟机中安装完成CentOS7后,网络总是需要手工启动才可使用,设置为自动连接的方式如下: cd /etc/sysconfig/network-scripts/ls #找到类似的文件:ifcfg-et ...

  2. bzoj 4423 [AMPPZ2013]Bytehattan(对偶图,并查集)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=4423 [题意] 给定一个平面图,随时删边,并询问删边后两点是否连通.强制在线. [科普 ...

  3. bzoj 3505 [Cqoi2014]数三角形(组合计数)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=3505 [题意] 在n个格子中任选3点构成三角形的方案数. [思路] 任选3点-3点共线 ...

  4. bzoj 1025 [SCOI2009]游戏(置换群,DP)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=1025 [题意] 给定n,问1..n在不同的置换下变回原序列需要的不同排数有多少种. [ ...

  5. 虚拟桌面基础架构(VDI)与终端服务和传统PC对比

    VDI(Virtual Desktop Infrastructure),即虚拟桌面基础架构,正迅速成为一个热门词汇,它将颠覆企业向终端用户交付应用的游戏规则.这篇专题就是想通过VDI与两种传统技术的对 ...

  6. 在linux上用dd命令实现ghost功能

    ghost和g4l 安装操作系统,速度太慢,整个过程太冗长乏味了. 安装过程中,需要回答若干问题,系统需要安装无数个软件,创建和写入无数的文件.因为涉及到大量的文件定位和读写,速度一定是快不起来的. ...

  7. Oracle 查看表空间大小及其扩展

    在ORACLE数据库中,所有数据从逻辑结构上看都是存放在表空间当中,当然表空间下还有段.区.块等逻辑结构.从物理结构上看是放在数据文件中.一个表空间可由多个数据文件组成.系统中默认创建的几个表空间:S ...

  8. 总结:常用的Linux系统监控命令

    记录一下自己常用的linux系统命令,方便以后查阅,发觉记忆越来越不行了 找到最耗CPU的java线程 ps命令 命令: ps -mp pid -o THREAD,tid,time 或者 ps -Lf ...

  9. CentOS 下安装操作Memcached

    Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度.Memcached ...

  10. 初识FreeMarker

    一.什么是FreeMarker? FreeMarker基于设计者和程序员是具有不同专业技能的不同个体的观念 他们是分工劳动的:设计者专注于表示——创建HTML文件.图片.Web页面的其它可视化方面: ...