CollatingOfData 之 JsonHelper
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的更多相关文章
- JSON扩展类——JsonHelper
1.引用Newtonsoft.Json库(JSON.NET). 2.复制粘贴JsonHelper吧. 源代码: using System; using System.Collections.Gener ...
- JsonHelper MergeJsonTemplate
namespace Test { using Newtonsoft.Json; using System; using System.Collections.Generic; using System ...
- 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 ...
- 【C#公共帮助类】JsonHelper 操作帮助类, 以后再也不用满地找Json了,拿来直接用
四个主要操作类:JsonConverter .JsonHelper .JsonSplit .AjaxResult 一.JsonConverter: 自定义查询对象转换动态类.object动态类转换j ...
- C#序列化及反序列化Json对象通用类JsonHelper
当今的程序界Json大行其道.因为Json对象具有简短高效等优势,广受广大C#码农喜爱.这里发一个序列化及反序列化Json对象通用类库,希望对大家有用. public class JsonHelper ...
- asp.net的JSONHelper 类
调用方法: ){ jsons = json.ToString();}else{ jsons = @"{success:false}";}return jsons; JS ...
- C# jsonhelper
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Sc ...
- JsonHelper
.net下的json序列化在以前没有Newtonsoft.Json崭露头角之前采用System.Web.Script.Serialization命名空间下的JavaScriptSerializer对象 ...
- JsonHelper类(序列化和反序列化辅助类)
1: using System; 2: using System.Collections.Generic; 3: using System.Linq; 4: using System.Web; ...
随机推荐
- Polymer——Web Components的未来
什么是polymer? polymer由谷歌的Palm webOS团队打造,并在2013 Google I/O大会上推出,旨在实现Web Components,用最少的代码,解除框架间的限制的UI 框 ...
- bzoj 2095: [Poi2010]Bridges(二分法+混合图的欧拉回路)
[题意] 给定n点m边的无向图,对于边u,v,从u到v边权为c,从v到u的边权为d,问能够经过每条边一次且仅一次,且最大权值最小的欧拉回路. [思路] 二分答案mid,然后切断权值大于mid的边,原图 ...
- 如何用十条命令在一分钟内检查Linux服务器性能
“如果你的Linux服务器突然负载暴增,报警短信快发爆你的手机,如何在最短时间内找出Linux性能问题所在?来看Netflix性能工程团队的这篇博文,看它们通过十条命令在一分钟内对机器性能问题进行诊断 ...
- 第三百零六天 how can I 坚持
今天做了件并不是我风格的事,送了张公交卡,还没送出去,好难搞啊.这天会铭记的.如果将来我们能走在一起. 中午去朝阳门拿了我的荣事达破壁机,好大啊,怎么带回家啊,还有,回家要不要买两只烤鸭啊. 今天聊了 ...
- Xamarin.Android真机调试时闪退解决办法
项目->属性->Android Options,Packaging页签 去掉 Use Shared Runtime可解决
- 【转】Maven实战(七)---传递依赖
原博文出自于:http://blog.csdn.net/liutengteng130/article/details/47000069 感谢! 假设A-->C B-->A ...
- homework_06 围棋程序改进
1) 把程序编译通过, 跑起来. 读懂程序,在你觉得比较难懂的地方加上一些注释,这样大家就能比较容易地了解这些程序在干什么. 把正确的 playPrev(GoMove) 的方法给实现了. 注释见Git ...
- Can jxta be used to develop online card game (p2p style)?
Can jxta be used to develop online card game (p2p style)? https://www.java.net//node/677134 I am new ...
- PC问题-可以PING通IP,PING名字不通,可以远程,但不能访问共享文件夹?
问题现象:可以PING通IP,PING名字不通,可以远程,但不能访问共享文件夹? 问题原因:目标主机中NetLogon服务未启动. 问题处理:远程打开目标主机,“我的电脑-管理-服务-启动(改为自动) ...
- Gym 100507C Zhenya moves from parents (线段树)
Zhenya moves from parents 题目链接: http://acm.hust.edu.cn/vjudge/contest/126546#problem/C Description Z ...