json入门初体验
json是JavaScript对象表示法,也是轻量级的文本数据交互格式,独立于语言,能够自我描述
json文本格式在语法上与创建JavaScript对象代码相同,多以json不需要解析器,js程序能够使用内建的eval()函数,用json数据来生成原生的JavaScript对象
我相信很多人都忘记或者不知道eval()函数,所以在这里我也把他的作用给大家写出来
eval(string):用于计算某个字符串,并且执行其中的js代码。注:里面的string参数必须填写,要含有JavaScript表达式或者要执行的语句
eval()函数返回的是计算string得到的值,string只能是原始字符串,不能传递string对象来作为eval()对象
json 是纯文本、具有“自我描述性”(人类可读)、具有层级结构(值中存在值)、可以通过 JavaScript 进行解析、json数据可使用 ajax进行传输
json语法规则:json语法是JavaScript对象法的子集;
数据在 名称:对 中
数据之间由逗号分隔
大括号{}保存对象
中括号[]保存数组
json的书写格式是 键(名称):值 ;
例如:
"name":"张三"
上面这句语法就相当于JavaScript语法里面的
name=”张三“
JSON 值可以是:
- 数字(整数或浮点数)
- 字符串(在双引号中)
- 逻辑值(true 或 false)
- 数组(在方括号中)
- 对象(在花括号中)
- null
JSON 值可以是:
- 数字(整数或浮点数)
- 字符串(在双引号中)
- 逻辑值(true 或 false)
- 数组(在方括号中)
- 对象(在花括号中)
- null
JSON 对象
JSON 对象在花括号中书写:
对象可以包含多个名称/值对:
{ "name":"张三" ,
"age":18}
这一点也容易理解,与这条 JavaScript 语句等价:
name=”张三“;
age=18
JSON 数组在方括号中书写:
数组可包含多个对象:
{ "data": [ { "name":"张三" , "age":15 }, { "name":"李四" , "age":16 }, { "name":"王五" , "age":17 } ] }
因为 JSON 使用 JavaScript 语法,所以无需额外的软件就能处理 JavaScript 中的 JSON。
通过 JavaScript,您可以创建一个对象数组,并像这样进行赋值:
var employees = [ { "firstName":"Bill" , "lastName":"Gates" }, { "firstName":"George" , "lastName":"Bush" }, { "firstName":"Thomas" , "lastName": "Carter" } ];
可以像这样访问 JavaScript 对象数组中的第一项:
employees[0].lastName;
返回的内容是:
Gates
可以像这样修改数据:
employees[0].lastName = "Jobs";
json的用法:
我们在做前后端分离项目时,一般情况下会从后端返回一个json数据给前端,然后前端将json数据转换为JavaScript对象,在网页中使用该对象
JavaScript 函数 eval() 可用于将 JSON 文本转换为 JavaScript 对象。