JSON
一、JSON 语法
JSON 语法是 JavaScript 语法的子集。
1、JSON 语法规则
JSON 语法是 JavaScript 对象表示语法的子集。
- 数据在名称/键值对中
- 数据由逗号分隔
- 大括号 {} 保存对象
- 中括号 [] 保存数组,数组可以包含多个对象
2、JSON 名称/键值对
JSON 数据的书写格式是:
key : value
名称/键值对包括字段名称(在双引号中),后面写一个冒号,然后是值:
"name" : "jiuling"
这很容易理解,等价于这条 JavaScript 语句:
name = "jiuling"
3、JSON 值
JSON 值可以是:
- 数字(整数或浮点数)
- 字符串(在双引号中)
- 逻辑值(true 或 false)
- 数组(在中括号中)
- 对象(在大括号中)
- null
二、JSON的两种结构
1、对象
对象结构以{开始,以}结束。中间部分由0或多个以,分隔的"key(关键字)/value(值)"对构成,关键字和值之间以:分隔,语法结构如代码。
{
key1:value1,
key2:value2,
...
}
其中关键字是字符串,而值可以是字符串,数值,true,false,null,对象或数组
2、数组
数组结构以[开始,以]结束。中间由0或多个以,分隔的值列表组成,语法结构如代码。
[
{
key1:value1,
key2:value2
},
{
key3:value3,
key4:value4
}
]
三、JSON 使用 JavaScript 语法
因为 JSON 使用 JavaScript 语法,所以无需额外的软件就能处理 JavaScript 中的 JSON。
通过 JavaScript,可以创建一个对象数组,并像这样进行赋值:
var employees = [
{ "firstName":"John" , "lastName":"Jiuling" },
{ "firstName":"Anna" , "lastName":"Smith" },
{ "firstName":"Peter" , "lastName": "Jones" }
];
可以像这样访问 JavaScript 对象数组中的第一项:
employees[0].lastName;
返回的内容是:
Jiuling
可以像这样修改数据:
employees[0].firstName = "Jiudu";
四、JSON.parse()
JSON 通常用于与服务端交换数据。
在接收服务器数据时一般是字符串。
可以使用 JSON.parse() 方法将数据转换为 JavaScript 对象。
语法:
JSON.parse(text[, reviver])
参数说明:
- text:必需, 一个有效的 JSON 字符串。
- reviver: 可选,一个转换结果的函数, 将为对象的每个成员调用此函数。
五、JSON.stringify()
JSON 通常用于与服务端交换数据。
在向服务器发送数据时一般是字符串。
可以使用 JSON.stringify() 方法将 JavaScript 对象转换为字符串。
语法:
JSON.stringify(value[, replacer[, space]])
参数说明:
- value:必需, 要转换的 JavaScript 值(通常为对象或数组)。
- replacer:可选。用于转换结果的函数或数组。
如果 replacer 为函数,则 JSON.stringify 将调用该函数,并传入每个成员的键和值。使用返回值而不是原始值。如果此函数返回 undefined,则排除成员。根对象的键是一个空字符串:""。
如果 replacer 是一个数组,则仅转换该数组中具有键值的成员。成员的转换顺序与键在数组中的顺序一样。当 value 参数也为数组时,将忽略 replacer 数组。 - space:可选,文本添加缩进、空格和换行符,如果 space 是一个数字,则返回值文本在每个级别缩进指定数目的空格,如果 space 大于 10,则文本缩进 10 个空格。space 也可以使用非数字,如:\t。
总结:
JSON串一般对于前端的小伙伴比较常用,它类似于后端当中的Map,格式也是很类似!都是使用的键值对的格式,当然还有后期学习的Redis也是使用的键值对的操作来获取相对应值。
在后端开发中,能用到JSON的地方只有在前后端进行交互的时候才会使用JSON模拟数据。用的工具使用的是PostMan,这个工具可以测试接口是否可以使用,可以使用这个工具传输JSON。当然一般写前端的代码都是用的是VSCode,后端用的是IJ或者Eclipse。
马上Java WEB就接近尾声了!Java WEB更新完以后准备做一些项目!对于Java来说,项目经验很重要!没有工作经验就会处处受到企业的排挤。公司都是需要能干活的,为什么要养闲人呢?所以有时间多做些项目!明天早上打第一针疫苗,先洗漱了!
今天的博客先更新到这里咯!有什么不对的地方或者有什么建议!欢迎小伙伴们在评论区留言哦!
如果本篇博客对大家有帮助,希望大家能够点赞、关注!在此先谢过各位小伙伴了!
最后,愿我们都能在各行各业中能够取得不同的成就,不负亲人、朋友、老师、长辈和国家的期望!能够用自身的所学知识为国家贡献出自己的一份力量!一起加油!
2021年7月1日夜