• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > C#实现将json转换为DataTable的方法

C#实现将json转换为DataTable的方法

作者:MeGoodtoo 字体:[增加 减小] 来源:互联网 时间:2017-05-28

MeGoodtoo 通过本文主要向大家介绍了c#datatable json,c#datatable,c#datatable添加行,c#datatable 查询,c#datatable添加列等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文实例讲述了C#实现将json转换为DataTable的方法。分享给大家供大家参考。具体实现方法如下:
/// <summary>
/// 将json转换为DataTable
/// </summary>
/// <param name="strJson">得到的json</param>
/// <returns></returns>
private DataTable JsonToDataTable(string strJson)
{
    //转换json格式
    strJson = strJson.Replace(",\"", "*\"").Replace("\":", "\"#").ToString();
    //取出表名  
    var rg = new Regex(@"(?<={)[^:]+(?=:\[)", RegexOptions.IgnoreCase);
    string strName = rg.Match(strJson).Value;
    DataTable tb = null;
    //去除表名  
    strJson = strJson.Substring(strJson.IndexOf("[") + 1);
    strJson = strJson.Substring(0, strJson.IndexOf("]"));
    //获取数据  
    rg = new Regex(@"(?<={)[^}]+(?=})");
    MatchCollection mc = rg.Matches(strJson);
    for (int i = 0; i < mc.Count; i++)
    {
 string strRow = mc[i].Value;
 string[] strRows = strRow.Split('*');
 //创建表  
 if (tb == null)
 {
     tb = new DataTable();
     tb.TableName = strName;
     foreach (string str in strRows)
     {
  var dc = new DataColumn();
  string[] strCell = str.Split('#');
  if (strCell[0].Substring(0, 1) == "\"")
  {
      int a = strCell[0].Length;
      dc.ColumnName = strCell[0].Substring(1, a - 2);
  }
  else
  {
      dc.ColumnName = strCell[0];
  }
  tb.Columns.Add(dc);
     }
     tb.AcceptChanges();
 }
 //增加内容  
 DataRow dr = tb.NewRow();
 for (int r = 0; r < strRows.Length; r++)
 {
     dr[r] = strRows[r].Split('#')[1].Trim().Replace(",", ",").Replace(":", ":").Replace("\"", "");
 }
 tb.Rows.Add(dr);
 tb.AcceptChanges();
    }
    return tb;
}
#endregion</div>

希望本文所述对大家的C#程序设计有所帮助。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C#中DataTable 转换为 Json的方法汇总(三种方法)
  • C#实现DataTable,List和Json转换的方法
  • C#实现将json转换为DataTable的方法
  • c#扩展datatable转json示例
  • C#中把Datatable转换为Json的5个代码实例

相关文章

  • 2017-05-28C#使用GDI绘制直线的方法
  • 2017-05-28ASP.NET MVC命名空间时引起错误的解决方法
  • 2017-05-28C# Winform下载文件并显示进度条的实现代码
  • 2017-05-28Visual Studio中根据系统区分引用64位、32位DLL动态库文件的配置方法
  • 2017-05-28C#实现从多列的DataTable里取需要的几列
  • 2017-05-28C#封装的Sqlite访问类实例
  • 2017-05-28C#.NET采用HTML模板发送电子邮件完整实例
  • 2017-05-28C#实现从网络同步标准北京时间的方法
  • 2017-05-28分享WCF文件传输实现方法---WCFFileTransfer
  • 2017-05-28C#有效防止同一账号多次登录(附三种方法)

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C#给图片添加水印完整实例
    • C# 中的??操作符浅谈
    • C#实现Excel表数据导入Sql Server数据库中的方法
    • C#委托现实示例分析
    • C#文件后缀名的详细介绍
    • C# 汉字转化拼音的简单实例代码
    • C#验证控件validator的简单使用
    • C#停止线程的方法
    • .Net Winform开发笔记(一)
    • C# 程序集和反射详解

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有