Chinaunix首页 | 论坛 | 博客
  • 博客访问: 972967
  • 博文数量: 403
  • 博客积分: 27
  • 博客等级: 民兵
  • 技术积分: 165
  • 用 户 组: 普通用户
  • 注册时间: 2011-12-25 22:20
文章分类

全部博文(403)

文章存档

2016年(3)

2015年(16)

2014年(163)

2013年(222)

分类: JavaScript

2014-04-01 14:41:42

原文地址:JSON初探 作者:scq2099yt

        JSON即JavaScript Object Notation,是一种轻量级的、纯文本的数据交换格式,非常适合于服务器与JavaScript的交互,更多关于JSON的信息请参看。
一、数据结构
1、对象(object)
        对象(object是一个无序的“name:value”对集合,一个对象用大括号{}括起来,集合中每个“name:value”对之间用逗号分隔。

图1 object
        例如一个表示人的属性的对象,用JSON表示如下:
        {"name":"Jim", "sex":true, "age":10}
2、数组(array)
        数组(array是“value”的有序集合,一个数组用中括号[]括起来,集合中每个“value”之间用逗号分隔。

图2 array
        例如一个表示班级学生姓名的数组,用JSON表示如下:
        ["Jim", "Lilei", "Hanmeimei"]
3、值(value)
        值(value)可以是双引号括起来的string、number、true/false/null、对象或数组等,这些结构可以嵌套。

图3 value
4、字符串(string)
        字符串(string)是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义。字符串(string)与C或者Java的字符串非常相似。

图4 string
5、数值(number)
        数值(number)与C或者Java的数值非常相似,除去未曾使用的八进制与十六进制格式。

图5 number

二、数据处理
        实际应用中,通常会是各种数据结构的复合,比如用如下JSON来表示1班中所有学生的信息:
        {"class one", [{"name":"Jim", "sex":true, "age":10}, {"name":"Lilei", "sex":true, "age":10}, {"name":"Hanmeimei", "sex":false, "age":10}]}
        JSON是JavaScript的原生格式,这意味着可以直接将JSON格式的字符串直接赋值给JavaScript变量:
        var class = {"classone", [{"name":"Jim", "sex":true, "age":10}, {"name":"Lilei", "sex":true, "age":10}, {"name":"Hanmeimei", "sex":false, "age":10}]}
        将JSON转换为JavaScript变量后,就可以用点号表示法来访问数据结构中的元素了,对于数组可以用索引来访问,索引从0开始,比如我们要打印姓名Jim:
        class.classone[0].name
        如果要修改Jim的age可以这样:
        class.classone[0].age = 11
        当然也可以直接将JavaScript转换回JSON格式的字符串:
        var strJson = class.toJSONString()
        这样就获得了一个可以在任何地方使用的文本字符串了,可以将它在客户端和服务器之间传送了(如果必要的话可以先给字符串编码)。



阅读(486) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~