开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第1天,点击查看活动详情
JSON的概念
JSON是一种轻量级的数据交换格式(主要用来传输数据)
JSON表示
json有两种表示结构,分别是对象和数组
- 数据在键值对中(属性名和值)
- 数据由逗号分割
- 花括号保存对象
- 中括号保存数组
JSON的书写格式
- json数据键值对的格式:
name:value的格式
- json对象在花括号里书写
- json数组
json中的值:数字。字符串。数组。对象。逻辑值
使用json对象
使用json对象的方式和所有js对象一样对象名点属性名,就可以调用json对象当中的数据。
json的特点
- json是纯文本
- json具有自我描述性
- json具有层级结构(可以自我嵌套)
- json通过js进行解析
- json数据可使用ajax进行传输
json转换
- 将json字符串转换成json对象的方法:JSON.parse(str)
- 将json对象转为json字符串的方法:JSON.stringify(obj)
json序列化
- json对象:指符合json格式要求的js对象,调用是直接使用js对象的调用方法
- json字符串:指的是符合json格式要求的js字符串,在程序开发中,使用json字符串来传递数据。使用PHP来拼接json字符串,使用ajax来返回这个json字符串
- 序列化:是指将对象状态转换为可保持或传输的格式的过程,与序列化相反的是反序列化,它将流 转换成对象,这两个过程结合起来,可以轻松存储和传输数据。
JSON 应该如何存储?
JSON 数据可以存储在 .json 格式的文件中(与 .txt 格式类似,都属于纯文本文件),也可以将 JSON 数据以字符串的形式存储在数据库、Cookie、Session 中。
要使用存储好的 JSON 数据也非常简单,不同的编程语言中提供了不同的方法来检索和解析 JSON 数据,例如 JavaScript 中的 JSON.parse() 和 JSON.stringify()、PHP 中的 json_decode() 和 json_encode()
什么时候会使用JSON
- 定义接口
现在的数据接口基本上返回的都是JSON格式的数据- 使用ajax异步加载的数据
- RPC远程调用
- 前后端分离,后端返回的数据
- 开发API,例如百度、高德的一些开放接口。
- 序列化:程序在运行时所有的变量都是存储在内存中的,如果程序重启或者服务器宕机,这些数据就会丢失。一般情况下运行时变量并不是很重要,丢了就丢了,但有些数据则需要保存下来,供下次程序启动或其它程序使用。
我们可以将这些数据保存到数据库中,也可以保存到一个文件中,这个将内存中数据保存起来的过程称为序列化.通常情况下,序列化是将程序中的对象直接转换为可保存或者可传输的数据,但这样会保存对象的类型信息,无法做到跨语言使用. - 生成Token
- 配置文件:比如npm的package.json包管理配置文件