json知识讲解

1.json语法

json有两个数据结构组成:

对象----->/值对的无序集合。

数组----->值的有序集合。

json没有变量或其它控制结构。json只用于数据源传输。

json语法是基于对象字面量的数组字面量的JavaScript语法。当使用字面量时,将包括数据本身,当不包括生成数据的表达式。

2.数据类型

字符串

数字

布尔值

null

对象

数组

json字符串必须使用双引号包括起来。它们使用标准的JavaScript转义序列。

引号、空格(b)、新行(n)f(换页)r(回车)t(水平定位)u(Unicode字符增加4个字符)/()\()

3.对象字面量

使用对象构造函数或对象字面量可以定义JavaScript对象。若要使用对象构造函数定义新对象,可以使用new关键字的Object构造函数。

var  jsonObject =   new Object();

然后,使用点符号为对象添加属性:

jsonObject .name   =  "Jobo";

jsonObject .address  =  "325   Smmith   Rd";

也可以使用数组语法为对象添加属性。

jsonObject ["name"]= "jobo";

jsonObject ["address"]= "325....";

通过使用对象字面量,可以更有效率地创建同一对象。

var  jsonObject = {

   name="jobo",

   address ="325..."

};

json不使用构造函数,只使用字面量。

没有分号

数组字面量:var   myArray = [1218, "edfsk" ,"dsfu"];

4.使用json解析器

<script    type="text/javascript"   src="json.js"></script>

定义两个函数:

toJSONString():方法添加到JavaScript   object array定义中,该方法能将JavaScript对象或数组转换成json文本。

parseJSON():该方法能从json文本中创建对象或数组。

5.xmltxt文件的区别。

xmltxt同样的数据时,xml占的内存比较大。所以访问速度是有问题。

6.Ajaxjson

创建请求。如果直接请求服务器上一个json文件的json数据,则可以利用文件名请求json文件。

request.open("get","class2.txt",true);

解析相应

一旦接收服务器中的json数据,就可以采用两种不同的方式解析该响应。可以使用JavaScript的内置函数eval

().也可以内置

1.使用eval()

eval()方法可以把JavaScript字符串当作参数,还可以将字符串转换成对象。

eval("varmyDate = new Date();");

如果使用XMLHttpRequest对象的responseText属性请求json数据,那么使用eval()json文本字符串转换成JavaScript对象。

var  jsonResp = request.responseText();

jsonResp=  eval("("   +  jsonResp   +")");

2.使用parseJSON()

如果web服务器即提供了json数据也提供了请求页面,则适合选用eval()方法。如果涉及安全,则适合用json解析器。

var  jsonResp = request.responseText();

jsonResp=  jsonResp.parseJSON();

为了访问parseJSON()函数,还需要添加引用json.js文件的script标记。

<script  type  ="text/javascript"   src="json.js" ></script>

7.json数据添加到页面。

 一旦将json数据转换为JavaScript对象,就可以使用JavaScript从该对象 中提取数据。

8.如何将后台数据压入页面json中。

  /**将对象压入栈顶*/

  public static void putValueStack(Objectobject) {

  ServletActionContext.getContext().getValueStack().push(object);

  }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值