简单了解一下JSON

140 阅读3分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第1天,点击查看活动详情

JSON的概念

JSON是一种轻量级的数据交换格式(主要用来传输数据)

JSON表示

json有两种表示结构,分别是对象和数组

  • 数据在键值对中(属性名和值)
  • 数据由逗号分割
  • 花括号保存对象
  • 中括号保存数组

JSON的书写格式

  • json数据键值对的格式:name:value的格式

image.png

  • json对象在花括号里书写

image.png

  • json数组

image.png
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包管理配置文件

image.png