首页 > 技术杂记, 程序人生 > JSON学习小结

JSON学习小结

1. 什么是JSON?
JSON的全称是JavaScript Object Notation, 是一种轻量级的数据交换格式。就像XML一样,JSON也是一种比较常见的数据交换的语言,或者称之为数据交换格式更为贴切。
2. JSON中的数据结构有下面两种:
(1)对象(Object): 一系列name/value对的集合
(2)数组(Array): 一系列有序的values的列表
3. JSON中基数的数据类型有下面几种:
(1)对象(Object): 对象是一系列无序的“name/value”集合,如下图所示,对象以'{‘开始,以’}’结束,name和value之间由’:’分隔,多个name/value对之间由’,’分隔。

(2)数组(Array): 数组是有序的value的列表,如下图所示,数组由'[‘开始,以’]’结束,多个value之间由’,’分隔。

(3)值(Value): 值可以是字符串,数字,true,false,null,对象,或者数组,如下图所示。

(4)字符串(String): 字符串是由双引号括起来的任意的unicode的字符的集合,可以包含由反斜杠开始的转义字符,如下图所示。

(5)数字(Number): 数字与其它语言中的定义类似,但是这里不支持8进制和16进制,通过用10进制,如下图所示。

4. JSON使用举例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{
   "app": {
      "launch": {
         "local_path": "main.html"
      }
   },
   "description": "Chrome App \u4E0A\u7684\u5C0F\u6B66\u54E5\u535A\u5BA2\uFF08\u6D4B\u8BD5\u7248\uFF09.",
   "icons": {
      "128": "128.png",
      "16": "16.png",
      "24": "24.png",
      "48": "48.png"
   },
   "name": "\u5C0F\u6B66\u54E5\u535A\u5BA2",
   "permissions": [ "unlimitedStorage", "notifications" ],
   "update_url": "http://clients2.google.com/service/update2/crx",
   "version": "1.0"
}

chrome上的app开发,所用的主要语言之一就是JSON,上面就是一个简单的chrome web app的例子中摘出来的。结合前面的介绍,我们来简单分析一个这个代码。这是一个完整的JSON对象,这个对象包含 app, description, name, permissions, update_url, version这些name相关的name/value对,每个name对应的value又分别是对象,字符串,数组等。

  1. 2011年6月5日22:46 | #1

    哈哈,在搞json啦,你用这个干嘛的?
    数据多的时候可以考虑下bson,说是二进制的json。。。

  2. 2011年6月5日23:29 | #2

    随便玩玩的@Leon

  3. 2011年6月5日23:33 | #3

    json和bson各有所长,字符的方便使用、易读性好,二进制的节省空间、效率好一些。二进制的数据传输,目前用的比较多的是protobuffer, 可以了解一下@小武哥

  4. 2011年6月7日10:28 | #4

    @小武哥
    好的么,你的接触面真光~

  1. 本文目前尚无任何 trackbacks 和 pingbacks.
您必须在 登录 后才能发布评论.