简介
JSON扩展名.json互联网媒体类型application/json类型代码(英语:Type code)TEXT统一类型标识public.json格式类型数据交换扩展自JavaScript标准RFC 7159, ECMA-404网站json.orgJSON(JavaScript Object Notation, /ˈdʒeɪsən/)是由道格拉斯·克罗克福特构想和设计的一种轻量级资料交换格式。其内容由属性和值所组成,因此也有易于阅读和处理的优势。JSON是独立于编程语言的资料格式,其不仅是JavaScript的子集,也采用了C语言家族的习惯用法,目前也有许多编程语言都能够将其解析和字符串化,其广泛使用的程度也使其成为通用的资料格式。
简介
JSON格式是1999年《JavaScript Programming Language, Standard ECMA-262 3rd Edition》的子集合,所以可以在JavaScript以eval()
函数(javascript通过eval()调用解析器)读入。不过这并不代表JSON无法使用于其他语言,事实上几乎所有与网络开发相关的语言都有JSON函数库。
JSON的基本数据类型:
数值:十进制数,不能有前导0,可以为负数,可以有小数部分。还可以用e
或者E
表示指数部分。不能包含非数,如NaN。不区分整数与浮点数。JavaScript用双精度浮点数表示所有数值。
字符串:以双引号""
括起来的零个或多个Unicode码位。支持反斜杠开始的转义字符序列。
布尔值:表示为true
或者false
。
数组:有序的零个或者多个值。每个值可以为任意类型。数组使用方括号包裹。多个数组元素之间用逗号
,
分隔,形如:。
对象:若干无序的“键-值对”(key-value pairs),其中键只能是字符串。建议但不强制要求对象中的键是独一无二的。对象以花括号{}
包裹。多个键-值对之间使用逗号,
分隔。键与值之间用冒号:
分隔。
空值:值写为null
token(6种标点符号、字符串、数值、3种字面量)之间可以存在有限的空白符并被忽略。四个特定字符被认为是空白符:空格符、水平制表符、回车符、换行符。空白符不能出现在token内部(但空格符可以出现在字符串内部)。JSON标准不允许有字节序掩码,不提供注释的句法。 一个有效的JSON文档的根节点必须是一个对象或一个数组。
JSON交换时必须编码为UTF-8。转义序列可以为:“\”、“””、“/”、“b”、“f”、“n”、“r”、“t”,或Unicode16进制转义字符序列(u后面跟随4位16进制数字)。对于不在基本多文种平面上的码位,必须用UTF-16代理对(surrogate pair)表示,例如对于Emoji字符——喜极而泣的表情(.mw-parser-output .monospaced{font-family:”Menlo”,”Consolas”,”Liberation Mono”,”Courier New”,monospace}U+1F602 😂 .mw-parser-output .smallcaps-all{font-variant:small-caps;text-transform:lowercase}.mw-parser-output .smallcaps-all>span{font-variant:normal;text-transform:none}FACE WITH TEARS OF JOY)在JSON中应表示为:
{ "face": "