JQueryEasyUI是一组基于jQuery的UI插件集合体,而jQueryEasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面。开发者不需要编写复杂的javascript,也不需要对css样式有深入的了解,开发者需要了解的只有一些简单的html标签。
easyUI一般通过Json串与后台进行交互,下面具体介绍怎样使用Json。
一、JSON
JSON:JavaScript 对象表示法(JavaScript ObjectNotation),用于存储和交换文本信息的语法。
类似 XML
JSON 是纯文本
JSON 具有层级结构(值中存在值)
JSON 可通过 JavaScript 进行解析
JSON 数据可使用 AJAX 进行传输
不同之处
格式简单
读写的速度更快
能够使用内建的 JavaScript eval() 方法进行解析
JSON 比 XML更小、更快,更易解析。在JS中处理XML非常不方便,json在JS中可作为对象处理
二、json格式
数据在名称/值对中
数据由逗号分隔
花括号保存对象
方括号保存数组
两种表示结构:对象和数组
1、对象
对象结构用{}保存数据,中间部分由0或多个以”,”分隔的”key(关键字)/value(值)”对构成,关键字和值之间以”:”分隔。实例:
关键字是字符串,而值可以是字符串,数值,true,false,null,对象或数组
2、数组
数组结构以[]保存数据。中间由”,”分隔,实例
[
{
age:12,
sex:女
},
{
age:13,
sex:男
}
]
三、JSON串和JSON对象
JSON字符串:指的是符合json格式要求的js字符串
var str1 = "{ "name": "cxh", "sex":"man" }";
JSON对象:指符合json格式要求的js对象。
var str2 = { "name": "cxh", "sex":"man" };
四、JS中读写JSON
JSON是JS的一个子集。读和写JSON都有两种方法,分别是利用”.”操作符和“[key]”的方式。
例如:
var obj={ "name": "cxh", "sex":"man" };
Obj.sex
Obj.[“sex”]
五、使用JSON
1、对象转为JSON串
(1)通过序列化将.net对象转换为JSON字符串
我们从数据库中查询到的数据(一般为一个集合,列表或数组等)转换为JSON格式字符串传回客户端,需要我们将普通的字符串转换为Json格式,这里用到的是JsonConvert对象的SerializeObject方法。
(2)使用LINQ to JSON定制JSON数据
SerializeObject只是简单地将一个list或集合转换为json字符串。对数据格式有一定要求的,需要用到JSON.NET的LINQto JSON,LINQ to JSON的作用就是根据需要的格式来定制json数据。
网上还介绍到了
使用toJSONString()或者全局方法JSON.stringify()将JSON对象转化为JSON字符串,来自json.js包。
2、Json串转为json对象
(1)使用eval()函数 var obj = eval('(' + str + ')');
(2)使用parse方法 var obj = JSON.parse(str);
服务端,由.net对象转换json字符串优先使用JsonConvert对象的SerializeObject方法,定制输出json字符串使用LINQto JSON。由json字符串转换为.net对象优先使用JsonConvert对象的DeserializeObject方法,然后也可以使用LINQ toJSON。
六、 eval()函数和json解析器
eval() 函数使用的是 JavaScript 编译器,可解析 JSON 文本,然后生成 JavaScript对象。必须把文本包围在括号中,这样才能避免语法错误:
使用 JSON 解析器将 JSON 转换为 JavaScript 对象是更安全的做法。JSON 解析器只能识别 JSON文本,而不会编译脚本。在浏览器中,这提供了原生的 JSON 支持,而且 JSON 解析器的速度更快。
七、easyUI+Json传值实例
需要引用的easyUI信息
?
<span style="font-family:KaiTi_GB2312;"><span style="font-size:18px;">
<meta charset="UTF-8">
<title>easyUI显示数据</title>
<!--需要引用的文件-->
<link rel="stylesheet" type="text/css" href="http://www.jeasyui.com/easyui/themes/default/easyui.css">
<link rel="stylesheet" type="text/css" href="http://www.jeasyui.com/easyui/themes/icon.css">
<link rel="stylesheet" type="text/css" href="http://www.jeasyui.com/easyui/themes/color.css">
<link rel="stylesheet" type="text/css" href="http://www.jeasyui.com/easyui/demo/demo.css">
<script type="text/javascript"src="http://code.jquery.com/jquery-1.6.min.js"></script>
<script type="text/javascript"src="http://www.jeasyui.com/easyui/jquery.easyui.min.js"></script>
</span></span>
|
easyUI控件
?
<span style="font-family:KaiTi_GB2312;"><span style="font-size:18px;"><!--表格显示区-->
<h2>基本信息</h2>
<thfield="firstname" width="50">姓名
</thfield="firstname"><table id="dg" title="用户" class="easyui-datagrid" style="width:700px;height:250px" url="json.aspx" toolbar="#toolbar" pagination="true" rownumbers="true" fitcolumns="true" singleselect="true">
<!--表格标题-->
<thead>
<tr>
<th field="age" width="50">年龄</th>
<th field="phone" width="50">电话</th>
<th field="email" width="50">邮箱</th>
</tr>
</thead>
</table>
<!--添加、修改、删除用户命名-->
<div id="toolbar">
添加
修改
删除
</ahref="javascript:void(0)"></ahref="javascript:void(0)"></ahref="javascript:void(0)"></div>
<!--添加用户-->
<div id="dlg" class="easyui-dialog" style="width:400px;height:280px;padding:10px 20px" closed="true" buttons="#dlg-buttons">
<divclass="ftitle">用户信息</divclass="ftitle"></div>
<form id="fm" method="post" novalidate="">
<div class="fitem">
<label>姓名:</label>
<inputname="firstname" class="easyui-textbox" required="true">
</inputname="firstname"></div>
<div class="fitem">
<label>年龄:</label>
<input name="age" class="easyui-textbox" required="true">
</div>
<div class="fitem">
<label>电话:</label>
<inputname="phone" class="easyui-textbox">
</inputname="phone"></div>
<div class="fitem">
<label>邮箱:</label>
<inputname="email" class="easyui-textbox" validtype="email">
</inputname="email"></div>
</form>
</span></span>
|
新建aspx文件,写Json串:
?
<span style="font-family:KaiTi_GB2312;"><span style="font-size:18px;">{
"total":3,
"rows":[
{"firstname":"张三","age":"23","phone":"18736669861","email":"gxq74171234@163.com"},
{"firstname":"小小","age":"33","phone":"18736669861","email":"gxq74171234@163.com"},
{"firstname":"小银","age":"22","phone":"18736669861","email":"gxq74171234@163.com"}
]
}</span></span>
|
我们在使用Json串时,格式都是由普通的字符串拼接为Json串的,需要用到转义字符"\""对应",如
StringstrJson ="{\"total\":5,\"rows\":[{\"firstname\":\"小小\",\"age\":\"22\",\"phone\":\"18730666152\",\"email\":\"741@qq.com\"}]}";
刚刚接触JqueryeasyUI还有很多需要深入了解的,后期会结合项目总结和学习这个框架。