JSON 数据类型
JSON格式支持以下数据类型:
Number:JavaScript中的双精度浮点格式
String:带有反斜杠转义的双引号Unicode
Boolean:true/false
Array:有序的值序列
Value:可以是string, number, true/false, null等
Object:无序键值对集合
Whitespace:可以在任何一对令牌之间使用
null:null值
Number
这是JavaScript中的双精度浮点格式,具体取决于实现。
不使用八进制和十六进制格式。
不使用NaN或Infinity。
下列显示了支持的数字类型
Integer:正负的0到9
Fraction:像.3, .9这样的分数
Exponent:像e, e+, e-, E, E+, E-这样的指数
语法
var json-object-name = { string : number_value, .......}
例子
下面是数字数据类型的示例:
var obj = {marks: 97}
String
它是一个由零个或多个双引号Unicode字符组成的序列,带有反斜杠转义。
字符是单个字符串,即长度为1的字符串。
语法
var json-object-name = { string : "string value", .......}
例子
下面展示了字符串的示例:
var obj = {name: 'Amit'}
Boolean
它包括true或false值。
语法
var json-object-name = { string : true/false, .......}
例子
var obj = {name: 'Amit', marks: 97, distinction: true}
Array
它是值的有序集合。
元素都用方括号括起来,这意味着数组以[开始,以]结束.
值由(逗号)分隔。
数组索引可以从0或1开始。
当键名是顺序整数时,应该使用数组。
语法
[ value, .......]
例子
{ "books": [ { "language":"Java" , "edition":"second" }, { "language":"C++" , "lastName":"fifth" }, { "language":"C" , "lastName":"third" } ] }
Object
这是一组无序的名称/值对。
对象用大括号括起来,也就是说,它以“{”开头,以“}”结尾。
每个名称后面跟着“:”(冒号),键/值对用(逗号)分隔。
这些键必须是字符串,并且应该彼此不同。
当键名是任意字符串时,应该使用对象。
语法
{ string : value, .......}
例子
{ "id": "011A", "language": "JAVA", "price": 500, }
Whitespace
它可以插入任何一对令牌之间。可以添加它以使代码更可读。示例显示了带有和不带空格的声明
语法
{string:" ",....}
例子
var obj1 = {"name": "Sachin Tendulkar"} var obj2 = {"name": "SauravGanguly"}
null
意思是空类型。
语法
null
例子
var i = null; if(i == 1) { document.write("<h1>value is 1</h1>"); } else { document.write("<h1>value is null</h1>"); }
JSON Value
它包含:
number (integer or floating point)
string
boolean
array
object
null
语法
String | Number | Object | Array | TRUE | FALSE | NULL
例子
var i = 1; var j = "sachin"; var k = null;