简介:
JSON的全称是”JavaScript Object Notation”,意思是JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式。
之前我一直有个困惑,分不清普通字符串,json字符串和json对象的区别。现在看一下。比如在js中:
字符串:指使用“”双引号或’’单引号包括的字符。例:var Str = '王云召14731104880';
json对象:指符合json格式要求的js对象。例:var jsonObj = { StudentName: "Mr.WANG", usercode: "14731104880" };
json字符串:指的是符合json格式要求的js字符串。例:var jsonStr = "{StudentName:'Mr.WANG',usercode:'14731104880'}";
JSON的两种结构
对象
对象结构以”{”大括号开始,以”}”大括号结束。中间部分由0或多个以”,”分隔的”key(关键字)/value(值)”对构成,关键字和值之间以”:”分隔,语法结构如代码。
json对象是:
{ "firstName":"John" , "lastName":"Doe" }
js中是这样的:
var JSONObject= {
"name":"Bill Gates",
"street":"Fifth Avenue New York 666",
"age":56,
"phone":"555 1234567"};
其中关键字是字符串,而值可以是字符串,数值,true,false,null,对象或数组
数组
数组结构以”[”开始,”]”结束。中间由0或多个以”,”分隔的值列表组成,语法结构如代码。数组可包含多个对象,实例如下:
{
"employees": [
{ "firstName":"John" , "lastName":"Doe" },
{ "firstName":"Anna" , "lastName":"Smith" },
{ "firstName":"Peter" , "lastName":"Jones" }
]
}
在js中是这样的
var employees = [
{ "firstName":"Bill" , "lastName":"Gates" },
{ "firstName":"George" , "lastName":"Bush" },
{ "firstName":"Thomas" , "lastName": "Carter" }
];
JSON 语法规则
JSON 语法是 JavaScript 对象表示法语法的子集。
数据在名称/值对中
数据由逗号分隔
花括号保存对象
方括号保存数组
JSON 值
JSON 值可以是:
数字(整数或浮点数)
字符串(在双引号中)
逻辑值(true 或 false)
数组(在方括号中)
对象(在花括号中)
null