最近被jquery折磨了一番,倒腾了一个jquery解析json的demo,本demo想实现从asp.net后台实例化dataSet或者dataTable数据集,将dataSet转换成json并返回给客户端,客户端用jquery getJson方法解析出来并显示在页面上。

首先简单介绍一下getJson方法

Jquery.getJson(url,[data],[callback])

url:发送请求地址。

data:待发送 Key/value 参数。

callback:载入成功时回调函数。

下面是实战getJson方法

首先 创建一个辅助类,用于将dataset数据集转换成json字符串

public static string DataTableToJson(string jsonName, DataTable dt)

{

StringBuilder Json = new StringBuilder();

Json.Append("{\"" + jsonName + "\":[");

if (dt.Rows.Count > 0)

{

for (int i = 0; i < dt.Rows.Count; i++)

{

Json.Append("{");

for (int j = 0; j < dt.Columns.Count; j++)

{

Json.Append("\"" + dt.Columns[j].ColumnName.ToString() + "\":\"" + dt.Rows[i][j].ToString() + "\"");

if (j < dt.Columns.Count - 1)

{

Json.Append(",");

}

}

Json.Append("}");

if (i < dt.Rows.Count - 1)

{

Json.Append(",");

}

}

}

Json.Append("]}");

return Json.ToString();

}

此方法是msdn上的一个辅助类方法。

第二步 手动配置创建一个演示Dataset,但在项目中一般都是从数据库中或者service中获得数据

public static DataSet BindData()

{

DataTable dtData = new DataTable();

dtData.Columns.Add("id");

dtData.Columns.Add("name");

dtData.Columns.Add("sex");

DataRow drData;

drData = dtData.NewRow();

drData[0] = 16;

drData[1] = "zhaoliu";

drData[2] = "man";

dtData.Rows.Add(drData);

drData = dtData.NewRow();

drData[0] = 19;

drData[1] = "zhangsan";

drData[2] = "women";

dtData.Rows.Add(drData);

DataSet ds = new DataSet();

ds.Tables.Add(dtData);

return ds;

}

第三步 创建aspx页面

前台页面:两个button,一个单击开始解析json数据,另外一个查看json字符串

后台页面:

protected void Page_Load(object sender, EventArgs e)

{

JsonAjax();

}

private void JsonAjax() {

string action = Request["Action"];

if (!string.IsNullOrEmpty(action) && action == "action") //判断是否通过前台的点击事件进来的

{

string str = DataTableConvertJson.DataTableToJson("json", Data.BindData().Tables[0]);

Response.Write(str);

Response.End();

}

}

最后给大家展示一下生成的json格式:

Top of Form

{"json":[{"id":"16","name":"zhaoliu","sex":"man"},{"id":"19","name":"zhangsan","sex":"women"}]}

Bottomof Form

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

jquery解析php json,Jquery解析json数据详解_jquery相关推荐

  1. java解析json数据_java解析JSON数据详解

    JSON是目前最流行的轻量级数据交换语言(没有之一).尽管他是javaScript的一个子集.但由于其是独立与语言的文本格式,它几乎可以被所有编程语言所支持. 以下是对java语言中解析json数据的 ...

  2. JS/JavaScript中解析JSON --- JSON.parse()、JSON.stringify()以及$.parseJSON()使用详解

    JS/JavaScript中解析JSON --- JSON.parse().JSON.stringify()以及$.parseJSON()使用详解 现在JSON格式在web开发中非常重要,特别是在使用 ...

  3. dicom多帧转换_Python解析多帧dicom数据详解

    概述 pydicom是一个常用python DICOM parser.但是,没有提供解析多帧图的示例.本文结合相关函数和DICOM知识做一个简单说明. DICOM多帧数据存储 DICOM标准中关于多帧 ...

  4. Jsoup解析HTML实例及文档方法详解

    转载自  Jsoup解析HTML实例及文档方法详解 这篇文章主要介绍了Jsoup如何解析一个HTML文档.从文件加载文档.从URL加载Document等方法,对Jsoup常用方法做了详细讲解,最近提供 ...

  5. python 编码解码原理_Python JSON编解码方式原理详解

    这篇文章主要介绍了Python JSON编解码方式原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 概念 JSON(JavaScript Ob ...

  6. KBQA_多轮对话——模型源码解析(一)Pickle模块功能详解

    KBQA_多轮对话--模型源码解析(一)Pickle模块功能详解 pickle --- Python 对象序列化的基本功能 1.pickle基本概念 2.pickle 与 json 模块的比较 3.p ...

  7. JWT(Json web token)认证详解

    JWT(Json web token)认证详解 什么是JWT Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该to ...

  8. java读写json格式的文件方法详解.txt,并批量存储进redis

    捐躯赴国难,视死忽如归.恸哭六军俱缟素,冲冠一怒为红颜.君子坦荡荡,小人长戚戚.风日晴和人意好,夕阳箫鼓几船归.民为贵,社稷次之,君为轻.Java 读写json格式的文件方法详解 文章录入:7747. ...

  9. Node.js中package.json中库的版本号详解(^和~区别)

    Node.js中package.json中库的版本号详解(^和~区别) 当我们查看package.json中已安装的库的时候,会发现他们的版本号之前都会加一个符号,有的是插入符号(^),有的是波浪符号 ...

  10. python之33个关键字详解_Python解析、提取url关键字的实例详解

    解析url用的类库: python2版本: from urlparse import urlparse import urllib python3版本: from urllib.parse impor ...

最新文章

  1. iPhone真机调试流程
  2. android afinal 图片,android中使用afinal一行代码显示网络图片
  3. mysql无法插入行_在mysql中数据才插入20多行就报错,求救啊!!!
  4. Wireshark数据抓包教程之认识捕获分析数据包
  5. python如何初始化一个二维数组_使用Python实现一个简单的商品期货布林指标突破策略...
  6. webpack文件配置
  7. AI芯片格局最全分析
  8. 从JVM的角度看JAVA代码--代码优化
  9. 【Kafka】kafka 客户端 控制台 flink 都无法消费的情况
  10. 你身边有没有白天上班,晚上打零工送外卖、跑滴滴、做代驾的朋友?你怎么看?
  11. Python map/reduce/filter/sorted函数以及匿名函数
  12. Android 配置 junit 单元测试
  13. 【杂七杂八】《我叫MT online》反编译解析
  14. 谁用谁知道!发放Gmail邀请,和大家共享Gmail邮箱
  15. VPS防火墙是什么 操作步骤须知
  16. javascript中in用法介绍
  17. 【erlang】【rebar依赖】添加eredis依赖
  18. Sign In With Apple
  19. Linux驱动_i2c驱动(ap3216c)
  20. 灵飞经4·西城八部 第十九章 片山微雨(三)

热门文章

  1. 【SpringBoot_ANNOTATIONS】 生命周期 03 @PostConstruct @PreDestroy
  2. 解决PlayerSettings中的splash Image资源发现在内存中卸载不掉
  3. Android 百度地图搜索框实现,仿百度地图街景实现
  4. python按位与怎么算_基础的十进制按位运算总结与在Python中的计算示例
  5. 在O(1)时间复杂度删除链表节点(372)
  6. Slowquery图形化显示MySQL慢日志工具
  7. Ubuntu 16.04通过源码安装QUEM虚拟机
  8. NI强化半导体测试布局 弹性/高性价比打败不景气
  9. redis - 00 在centos安装
  10. Linux Mint开发环境安装整理