jquery解析php json,Jquery解析json数据详解_jquery
最近被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相关推荐
- java解析json数据_java解析JSON数据详解
JSON是目前最流行的轻量级数据交换语言(没有之一).尽管他是javaScript的一个子集.但由于其是独立与语言的文本格式,它几乎可以被所有编程语言所支持. 以下是对java语言中解析json数据的 ...
- JS/JavaScript中解析JSON --- JSON.parse()、JSON.stringify()以及$.parseJSON()使用详解
JS/JavaScript中解析JSON --- JSON.parse().JSON.stringify()以及$.parseJSON()使用详解 现在JSON格式在web开发中非常重要,特别是在使用 ...
- dicom多帧转换_Python解析多帧dicom数据详解
概述 pydicom是一个常用python DICOM parser.但是,没有提供解析多帧图的示例.本文结合相关函数和DICOM知识做一个简单说明. DICOM多帧数据存储 DICOM标准中关于多帧 ...
- Jsoup解析HTML实例及文档方法详解
转载自 Jsoup解析HTML实例及文档方法详解 这篇文章主要介绍了Jsoup如何解析一个HTML文档.从文件加载文档.从URL加载Document等方法,对Jsoup常用方法做了详细讲解,最近提供 ...
- python 编码解码原理_Python JSON编解码方式原理详解
这篇文章主要介绍了Python JSON编解码方式原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 概念 JSON(JavaScript Ob ...
- KBQA_多轮对话——模型源码解析(一)Pickle模块功能详解
KBQA_多轮对话--模型源码解析(一)Pickle模块功能详解 pickle --- Python 对象序列化的基本功能 1.pickle基本概念 2.pickle 与 json 模块的比较 3.p ...
- JWT(Json web token)认证详解
JWT(Json web token)认证详解 什么是JWT Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该to ...
- java读写json格式的文件方法详解.txt,并批量存储进redis
捐躯赴国难,视死忽如归.恸哭六军俱缟素,冲冠一怒为红颜.君子坦荡荡,小人长戚戚.风日晴和人意好,夕阳箫鼓几船归.民为贵,社稷次之,君为轻.Java 读写json格式的文件方法详解 文章录入:7747. ...
- Node.js中package.json中库的版本号详解(^和~区别)
Node.js中package.json中库的版本号详解(^和~区别) 当我们查看package.json中已安装的库的时候,会发现他们的版本号之前都会加一个符号,有的是插入符号(^),有的是波浪符号 ...
- python之33个关键字详解_Python解析、提取url关键字的实例详解
解析url用的类库: python2版本: from urlparse import urlparse import urllib python3版本: from urllib.parse impor ...
最新文章
- iPhone真机调试流程
- android afinal 图片,android中使用afinal一行代码显示网络图片
- mysql无法插入行_在mysql中数据才插入20多行就报错,求救啊!!!
- Wireshark数据抓包教程之认识捕获分析数据包
- python如何初始化一个二维数组_使用Python实现一个简单的商品期货布林指标突破策略...
- webpack文件配置
- AI芯片格局最全分析
- 从JVM的角度看JAVA代码--代码优化
- 【Kafka】kafka 客户端 控制台 flink 都无法消费的情况
- 你身边有没有白天上班,晚上打零工送外卖、跑滴滴、做代驾的朋友?你怎么看?
- Python map/reduce/filter/sorted函数以及匿名函数
- Android 配置 junit 单元测试
- 【杂七杂八】《我叫MT online》反编译解析
- 谁用谁知道!发放Gmail邀请,和大家共享Gmail邮箱
- VPS防火墙是什么 操作步骤须知
- javascript中in用法介绍
- 【erlang】【rebar依赖】添加eredis依赖
- Sign In With Apple
- Linux驱动_i2c驱动(ap3216c)
- 灵飞经4·西城八部 第十九章 片山微雨(三)
热门文章
- 【SpringBoot_ANNOTATIONS】 生命周期 03 @PostConstruct @PreDestroy
- 解决PlayerSettings中的splash Image资源发现在内存中卸载不掉
- Android 百度地图搜索框实现,仿百度地图街景实现
- python按位与怎么算_基础的十进制按位运算总结与在Python中的计算示例
- 在O(1)时间复杂度删除链表节点(372)
- Slowquery图形化显示MySQL慢日志工具
- Ubuntu 16.04通过源码安装QUEM虚拟机
- NI强化半导体测试布局 弹性/高性价比打败不景气
- redis - 00 在centos安装
- Linux Mint开发环境安装整理