前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布

JSON

作者头像
岳泽以
发布2022-10-26 17:28:27
1.6K0
发布2022-10-26 17:28:27
举报
文章被收录于专栏:岳泽以博客岳泽以博客

什么是JSON

概念:JSON的英文是JavaScript Object Notation,即“JavaScript对象表示法”。

简单来讲,JSON就是JavaScript对象和数组的字符串表示方法,它使用文本表示一个JS对象和数组的信息,因此,JSON的本质是字符串

作用:JSON是一种轻量级的文本数据交换格式,在作用上类似XML,专门用于存储和传输数据,但是JSON比XML更小、更快、更易解析。

现状:JSON是在2001年开始被推广和使用的数据格式,到现在为止,JSON已经成为了主流的数据交换格式。

JSON的两种结构

JSON就是用字符串来表示JavaScript的对象和数组。所以,JSON中包含对象数组两种结构,通过这俩种结构的相互嵌套,可以表示各种复杂的数据结构。

对象结构:对象结构在JSON中表示为{}括起来的内容。数据结构为{key:value,key:value,...}的键值对结构。其中,key必须是使用英文的双引号包裹的字符串,value的数据类型可以是数字、字符串、布尔值、null、数组、对象6种类型。

代码语言:javascript
复制
{
    "name":"张三",
    "age":20,
    "gender":"男",
    "address":null,
    "hobby":["吃饭","睡觉","打豆豆"]
}

数组结构:数组结构在JSON中表示为[]括起来的内容。数据结构为["java","javascript",30,true...]。

数组中数据的类型可以是数字、字符串、布尔值、null、数组、对象6种类型。

代码语言:javascript
复制
["java","python","php"]
[100,200,300.5]
[true,null,false]
[{"name":"zs","age":20},{"name":"ls","age":30}]
[["苹果","香蕉","橘子"],[4,5,6]]

JSON语法注意事项

  1. 属性名必须使用双引号包裹
  2. 字符串类型的值必须使用双引号包裹
  3. JSON中不允许使用单引号表示字符串
  4. JSON中不能写注释
  5. JSON的最外层必须是对象或数组格式
  6. 不能使用undefined或函数作为JSON的值

JSON的作用:在计算机与网络之间存储和传输数据

JSON的本质:用字符串来表示JavaScript对象数据或数组数据

JSON和JS对象的关系

JSON是JS对象的字符串表示法,它使用文本表示一个JS对象的信息,本质是一个字符串。

例如:

代码语言:javascript
复制
//这是一个对象
var obj={a:'hello',b:'world'}

//这是一个JSON字符串,本质是一个字符串
var json='{"a":"hello","b":"world"}'

JSON和JS对象的互转

要实现JSON字符串转换为JS对象,使用 JSON.parse()方法:

代码语言:javascript
复制
        var jsonStr = '{"a":"hello","b":"world"}'
        var obj = JSON.parse(jsonStr)
        console.log(obj);
        //结果是{ a: 'hello', b: 'world' }

要实现从JS对象转换为JSON字符串,使用 JSON.stringify()方法

代码语言:javascript
复制
        var obj = { a: 'hello', b: 'world', c: false }
        var str = JSON.stringify(obj)
        console.log(str);
        //结果是{"a":"hello","b":"world","c":false}

序列化和反序列化

把数据对象转换为字符串的过程,叫做序列化。

例如:调用 JSON.stringify()函数的操作,叫做JSON序列化。

把字符串转换为数据对象的过程,叫做反序列化。

例如:调用 JSON.parse()函数的操作,叫做JSON反序列化。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022 年 09 月,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是JSON
  • JSON的两种结构
  • JSON语法注意事项
  • JSON和JS对象的关系
  • JSON和JS对象的互转
  • 序列化和反序列化
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档