Chinaunix首页 | 论坛 | 博客
  • 博客访问: 429344
  • 博文数量: 58
  • 博客积分: 587
  • 博客等级: 中士
  • 技术积分: 710
  • 用 户 组: 普通用户
  • 注册时间: 2012-04-25 11:37
文章分类

全部博文(58)

文章存档

2014年(4)

2013年(32)

2012年(22)

分类: LINUX

2013-07-18 14:54:57

原文地址:http://blog.csdn.net/dj0379/article/details/7991337

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于,的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。

JSON建构于两种结构:

  • “名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。
  • 值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。

这些都是常见的数据结构。事实上大部分现代计算机语言都以某种形式支持它们。这使得一种数据格式在同样基于这些结构的编程语言之间交换成为可能。

JSON具有以下这些形式:

对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。

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

值(value)可以是双引号括起来的字符串(string)、数值(number)、true、false、null、对象(object)或者数组(array)。这些结构可以嵌套。

字符串(string)是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义。一个字符(character)即一个单独的字符串(character string)。

字符串(string)与C或者Java的字符串非常相似。

数值(number)也与C或者Java的数值非常相似。除去未曾使用的八进制与十六进制格式。除去一些编码细节。

空白可以加入到任何符号之间。 以下描述了完整的语言。

object {}
{ members } members pair
pair
 , members pair string : value array []
[ elements ] elements value 
value
 , elements value string
number
object
array

true
false
null
string ""
" chars " chars char
char chars
char any-Unicode-character-
    except-
"-or-\-or-
    control-character
\"
\\
\/
\b
\f
\n
\r
\t
\u four-hex-digits number int
int frac
int exp
int frac exp
int digit
digit1-9 digits
 
- digit
- digit1-9 digits frac . digits exp e digits digits digit
digit digits
e e
e+
e-
E
E+
E-

 


  • Delphi:
    • .
    • .
    • .
    • .
  • E:
    • .
  • Erlang:
    • .
    • .
  • Fantom:
    • .
  • Go:
    • .
  • Haskell:
    • .
    • .
  • haXe:
    • .
  • Java:
  • JavaScript:
    • .
    • .
    • .
    • .
  • Lisp:
    • .
    • .
    • .
  • LotusScript:
    • .
  • Lua:
    • .
    • .
    • .
    • .
    • .
  • Matlab:
    • .
    • .
    • .
  • Objective C:
    • .
    • .
    • .
    • .
    • .
  • OCaml:
    • .
    • .
  • OpenLaszlo:
    • .
  • Perl:
    • .
    • .
  • PHP:
    • .
    • .
    • .
    • .
    • .
    • .
  • Pike:
    • .
    • .
  • PL/SQL:
    • :
    • .
  • PowerShell:
    • .
  • Prolog:
  • Puredata:
  • Python:
    • .
    • .
    • .
    • .
    • .
  • Qt:
    • .
  • R:
    • .
  • Racket:
    • .
  • Rebol:
    • .
  • RPG:
    • .
  • Ruby:
    • .
    • .
    • .
  • Scala:
  • Scheme:
  • Squeak:
    • .
  • Symbian:
    • .
  • Tcl:
    • .
  • Visual Basic:
    • .
    • .
  • Visual FoxPro:


  • .

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