json就是字符串!
json就是字符串!
json就是字符串!
重要的事情说三遍!
json本质就是字符串,经过序列化的字符串。json的出现只是方便传输。
你可以将所有的数据类型用序列化函数序列化json字符串,然后再用反序列化函数恢复其初始数据类型。
Json的规格非常简单,只用一个页面几百个字就能说清楚,而且Douglas Crockford声称这个规格永远不必升级,因为该规定的都规定了。
1) 并列的数据之间用逗号(", ")分隔。
2) 映射用冒号(": ")表示。
3) 并列数据的集合(数组)用方括号("[]")表示。
4) 映射的集合(对象)用大括号("{}")表示
JSON格式支持的数据类型有以下:
| 类型 | 描述 |
|---|---|
| Number | 在JavaScript中的双精度浮点格式 |
| String | 双引号的反斜杠转义的Unicode |
| Boolean | true 或 false |
| Array | 值的有序序列 |
| Value | 它可以是一个字符串,一个数字,真的还是假(true/false),空(null )等 |
| Object | 无序集合键值对 |
| Whitespace | 可以使用任何一对中的令牌 |
| null | empty |
数字
这是一个双精度浮点格式在JavaScript中,这取决于执行
八进制和十六进制格式不被使用。
非NaN或无穷大用数字
以下的表格显示数字类型:
| 类型 | 描述 |
|---|---|
| Integer | Digits 1-9, 0 and positive or negative |
| Fraction | Fractions like .3, .9 |
| Exponent | Exponent like e, e+, e-,E, E+, E- |
语法:
var json-object-name = { string : number_value, .......}实例:
示例显示数字的数据类型值不被引用:
var obj = {marks: 97}字符串
这是一个零个或多个双引号的Unicode字符用反斜杠转义序列。
字符是一个字符串,即字符串长度为1
该表显示字符串类型:
| 类型 | 描述 |
|---|---|
| " | double quotation |
| reverse solidus | |
| / | solidus |
| b | backspace |
| f | form feed |
| n | new line |
| r | carriage return |
| t | horizontal tab |
| u | four hexadecimal digits |
语法:
var json-object-name = { string : "string value", .......}示例:
示例显示字符串数据类型:
var obj = {name: ‘Amit‘}布尔
它包括true或false值
语法:
var json-object-name = { string : true/false, .......}示例:
var obj = {name: ‘Amit‘, marks: 97, distinction: true}数组
它是值的有序集合
这些被封闭方括号这意味着阵列开始。并以...结束
值之间以,(逗号)
数组索引可以从0或1开始
键的名称时,应使用连续整数阵列
语法:
[ value, .......]
示例:
例如数组,包含多个对象:
{ ?"books": [ ??{ "language":"Java" , "edition":"second" }, ??{ "language":"C++" , "lastName":"fifth" }, ??{ "language":"C" , "lastName":"third" } ?]}对象
这是一个无序设置的名称/值对
对象被括在大括号中,它开始‘{‘ 并以‘}‘ 结束
每个名称后跟“:”(冒号)和名称/值对 ,(逗号)分隔。
键都必须是字符串应该是彼此不同的
对象时,应使用键名是任意的字符串
语法:
{ string : value, .......}示例:
例如显示对象:
{ "id": "011A", "language": "JAVA", "price": 500,}空白
它可以插入到任何一对令牌之间。它可以添加到代码更具可读性。实例表明 不带空格的声明:
语法:
{string:" ??",....}EXAMPLE:
var i= " ??sachin";var j = " ?saurav"
null
这是空类型
语法:
null
示例:
var i = null;if(i==1) { ??document.write("<h1>value is 1</h1>");}else{ ??document.write("<h1>value is null</h1>");}JSON 值
它包括:
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;
JSON 是个什么??!!!
原文地址:https://www.cnblogs.com/ziyun20160613/p/10252619.html