这两天在使用JqueryEasyUI框架绑定数据并实现自动分页时,由于框架的限制需要使用Json数据的来传递与获取数据:

JSON的全称是JavaScript Object Notation, 是一种轻量级的数据交换格式。就像XML一样,JSON也是一种比较常见的数据交换的语言,或者称之为数据交换格式更为贴切。

2. JSON中的数据结构有下面两种:

(1)对象(Object): 一系列name/value对的集合

(2)数组(Array): 一系列有序的values的列表

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。

  

今天先简单的介绍数据的转换:

  1. public class DataTableConvertJson
  2. {
  3.  
  4. #region dataTable转换成Json格式
  5. /// <summary>
  6. /// dataTable转换成Json格式
  7. /// </summary>
  8. /// <param name="dt"></param>
  9. /// <returns></returns>
  10. public static string DataTable2Json(DataTable dt)
  11. {
  12. StringBuilder jsonBuilder = new StringBuilder();
  13. jsonBuilder.Append("{\"");
  14. jsonBuilder.Append(dt.TableName);
  15. jsonBuilder.Append("\":[");
  16. jsonBuilder.Append("[");
  17. for (int i = 0; i < dt.Rows.Count; i++)
  18. {
  19. jsonBuilder.Append("{");
  20. for (int j = 0; j < dt.Columns.Count; j++)
  21. {
  22. jsonBuilder.Append("\"");
  23. jsonBuilder.Append(dt.Columns[j].ColumnName);
  24. jsonBuilder.Append("\":\"");
  25. jsonBuilder.Append(dt.Rows[i][j].ToString());
  26. jsonBuilder.Append("\",");
  27. }
  28. jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
  29. jsonBuilder.Append("},");
  30. }
  31. jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
  32. jsonBuilder.Append("]");
  33. jsonBuilder.Append("}");
  34. return jsonBuilder.ToString();
  35. }
  36.  
  37. #endregion dataTable转换成Json格式
  38. #region DataSet转换成Json格式
  39. /// <summary>
  40. /// DataSet转换成Json格式
  41. /// </summary>
  42. /// <param name="ds">DataSet</param>
  43. /// <returns></returns>
  44. public static string Dataset2Json(DataSet ds)
  45. {
  46. StringBuilder json = new StringBuilder();
  47.  
  48. foreach (DataTable dt in ds.Tables)
  49. {
  50. json.Append("{\"");
  51. json.Append(dt.TableName);
  52. json.Append("\":");
  53. json.Append(DataTable2Json(dt));
  54. json.Append("}");
  55. } return json.ToString();
  56. }
  57. #endregion
  58.  
  59. /// <summary>
  60. /// Msdn
  61. /// </summary>
  62. /// <param name="jsonName"></param>
  63. /// <param name="dt"></param>
  64. /// <returns></returns>
  65. public static string DataTableToJson(string jsonName, DataTable dt)
  66. {
  67. StringBuilder Json = new StringBuilder();
  68. Json.Append("{\"" + jsonName + "\":[");
  69. if (dt.Rows.Count > 0)
  70. {
  71. for (int i = 0; i < dt.Rows.Count; i++)
  72. {
  73. Json.Append("{");
  74. for (int j = 0; j < dt.Columns.Count; j++)
  75. {
  76. Json.Append("\"" + dt.Columns[j].ColumnName.ToString() + "\":\"" + dt.Rows[i][j].ToString() + "\"");
  77. if (j < dt.Columns.Count - 1)
  78. {
  79. Json.Append(",");
  80. }
  81. }
  82. Json.Append("}");
  83. if (i < dt.Rows.Count - 1)
  84. {
  85. Json.Append(",");
  86. }
  87. }
  88. }
  89. Json.Append("]}");
  90. return Json.ToString();
  91. }
  92. }

这样界面上接收到后台传的数据转换成JSON后,自动可以实现框架中的效果:

图1:

图2:

接下来的博客中给大家详细分享实现的过程,尽请期待!

JSON 的数据转换格式(DataTable或DataSet) -善良公社项目的更多相关文章

  1. Jquery EasyUI +Ajax +Json +一般处理程序 实现数据的前台与后台的交互 --- 善良公社项目

    经过上一篇博客,本节主要是来看实现的功能是后台的数据通过json数据传过来,前台修改的数据再传回数据库之后页面再次更新table中的数据: 图示: 实例:前台的代码 <%--表格显示区--%&g ...

  2. jquery easyui datagrid 分页实现---善良公社项目

    接着上篇文章,接下来给大家分享分页的实现,分页其实多多少少见过很有几种,框架中带的图片都特别的好看,会给用户以好的使用效果,具体实现,需要自己来补充代码: 图示1: 通常情况下页面数据的分页显示分成真 ...

  3. 基于easyui框架中input 类型的checkbox拼接成字符串存入数据库和读取选中---善良公社项目

    项目中我做修改用户个人资料的时候,有一个需求是帮助人员的帮助类型如图下所示: 当初想如果是asp.net控件的话应该很简单实现,如果不是基于easyUI框架那就太简单了,现在是受框架的限制与是前端ht ...

  4. Asp.net 将DataTable 或者DataSet 转换为Json 格式

    Web 开发中,将从数据库中取到的数据直接转换为 Json 格式的数据,在前台通过Ajax 无刷新显示在界面上,下面提供将DataTable 或者DataSet 转换为Json 的方法 /// < ...

  5. 将Excel表格数据转换成Datatable

    /// <summary> /// 将Excel表格数据转换成Datatable /// </summary> /// <param name="fileUrl ...

  6. 【C#常用方法】2.DataTable(或DataSet)与Excel文件之间的导出与导入(使用NPOI)

    DataTable与Excel之间的互导 1.项目添加NPOI的引用 NPOI项目简介: NPOI是一个开源的C#读写Excel.WORD等微软OLE2组件文档的项目,特点是可以在没有安装Office ...

  7. Jackson 通过自定义注解来控制json key的格式

    Jackson 通过自定义注解来控制json key的格式 最近我这边有一个需求就是需要把Bean中的某一些特殊字段的值进行替换.而这个替换过程是需要依赖一个第三方的dubbo服务的.为了使得这个转换 ...

  8. .Net中List<T> 泛型转成DataTable、DataSet

    在开发过程过程中有时候需要将List<T>泛型转换成DataTable.DataSet,可以利用反射机制将DataTable的字段与自定义类型的公开属性互相赋值. 1.List<T& ...

  9. [转]SpringMVC使用@ResponseBody时返回json的日期格式、@DatetimeFormat使用注意

    一.SpringMVC使用@ResponseBody时返回json的日期格式 前提了解: @ResponseBody 返回json字符串的核心类是org.springframework.http.co ...

随机推荐

  1. mongoose多条件模糊查询实例

    mongoose多条件模糊查询 这是今天手头项目中遇到的一个问题,关于mongoose如何实现类似于SQL中 nick LIKE '%keyword%' or email LIKE '%keyword ...

  2. Lock锁子类了解一下

    前言 回顾前面: 多线程三分钟就可以入个门了! Thread源码剖析 多线程基础必要知识点!看了学习多线程事半功倍 Java锁机制了解一下 AQS简简单单过一遍 只有光头才能变强! 上一篇已经将Loc ...

  3. Emacs Python 自动补全--Elpy

    安装方法: 首先,安装一些依赖包: # Either of these pip install rope pip install jedi # flake8 用来检查语法错误 pip install ...

  4. windows系统和centos双系统安装引导项修改

    在CentOS下修改Linux引导文件:     (1)找到win10的引导 1.首先我们点击第一个系统进入centos           2.运行终端,敲入命令su,为了获取管理员权限,然后终端提 ...

  5. PHP If...Else 语句

    PHP If...Else 语句 条件语句用于根据不同条件执行不同动作. PHP 条件语句 当您编写代码时,您常常需要为不同的判断执行不同的动作.您可以在代码中使用条件语句来完成此任务. 在 PHP ...

  6. 如何处理IO

    Network I/O operations in user code should only be done through the Nginx Lua API calls as the Nginx ...

  7. [CSDN_Markdown] Markdown基本语法

    简介 本文介绍Markdown的基本使用方法: 使用标题 加粗.斜体 分割线 列表 引用 我写博客一般将可以独立的内容分节,每一节有一个标题,标题的字体应该与正文的字体有点区别.两个相邻节之间使用分割 ...

  8. Swift:Minimizing Annotation with Type Inference

    许多程序猿更喜欢比如Python和Javascript这样的动态语言,因为这些语言并不要求程序猿为每个变量声明和管理它们的类型. 在大多数动态类型的语言里,变量可以是任何类型,而类型声明是可选的或者根 ...

  9. Android底层开发经验

    最近看到一个博客,他的博文虽然是转载的,但源作者肯定对底层的理解可谓是非常透彻,一副思维导图就可以将整个重要体系建立起来,非常适合大家学习.学习不单单只要有代码,生动有趣更重要.在此推荐一波: htt ...

  10. ROS_Kinetic_x 目前已更新的常用機器人資料 rosbridge agvs pioneer_teleop nao TurtleBot

    Running Rosbridge Description: This tutorial shows you how to launch a rosbridge server and talk to ...