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 对象。

 

版权声明:本文为xy-l原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/xy-l/p/11613533.html