JSON

JSON

本来是想总结一下ajax,但是作为一种无需刷新页面即可从服务器取得数据的这样一个技术,其中的数据格式也是我们关心的。JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,便于人们阅读和书写,是理想的数据交换格式。

1. JSON对象

一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间运用 “,”(逗号)分隔。 名称用引号括起来;值如果是字符串则必须用双引号,数值型则不须要。例如:

var o={"id":"sx","ldigitid":123456,"topscore":2000,"topplaytime":"2009-08-20"};

2. JSON数组

数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间运用 “,”(逗号)分隔。例如:

var jsonranklist=[{"lid":"sx","ldigitid":123456,"topscore":2000,"topplaytime":"2009-08-20"},{"lid":"zd","ldigitid":123456,"topscore":1500,"topplaytime":"2009-11-20"}];

注意:JSON中所有的字符串必须使用双引号(单引号会导致语法错误)

小结:对象和数组2中结构就可以组合成复杂的数据结构。

3. JSON对象和JSON字符串之间的相互转换

在数据传输流程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键。例如:

JSON字符串:

var str1 = '{ "name": "sx", "sex": "woman" }';

JSON对象:

var str2 = { "name": "sx", "sex": "woman" };

JSON字符串转换为JSON对象的方法如下:

3.1 eval()

var a_id=eval(‘{"name":123}’);

使用eval()存在风险,因为可能会执行一些恶意代码。

3.2 json_parse

需要导入json_parse.js。

1 <script src="js/json_parse.js"></script>  
2 <script language="javascript">  
3     var t = json_parse('{"name":123}');  
4     alert(t.name);  
5 </script>>

3.2 JSON.parse

var vjson = JSON.parse(jsonstr):支持IE8和fireFox3这两个有内置json对象的浏览器;其他浏览器要引入json.js文件

  <script src="js/json.js"></script>  
  <script language="javascript">  
      var t = JSON.parse('{"name":123}');  
      alert(t.name);  
  </script> 
posted @ 2016-07-29 22:27  destinyruru  阅读(145)  评论(0编辑  收藏  举报