JSON的详细讲解 --

举报
辰兮 发表于 2022/03/22 22:49:57 2022/03/22
【摘要】 文章导图 一.什么是JSON? 官方文档描述 JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式,采用完全独立于编程语言的文本格式来存储...

文章导图
辰兮同学的思维导图

一.什么是JSON?

官方文档描述在这里插入图片描述

  • JSON(JavaScript Object Notation, JS 对象简谱)
    是一种轻量级的数据交换格式,采用完全独立于编程语言的文本格式来存储和表示数据。

二.JSON与XML的差异化

  • Json之前,大家都用 XML 传递数据。XML 是一种纯文本格式,所以适合在网络上交换数据,但是 XML 格式比较复杂,所以后来有人发明了Json.

在这里插入图片描述

三.JSON数据格式

  • JSON有两种表示结构,对象和数组。

1)对象方式

{
           "key1":  "value1",
           "key2": "value2",
           ....
           
      }

  
 

举例

{ "firstName":"John" , "lastName":"Doe" }

  
 

JSON 对象在花括号中书写:

对象可以包含多个名称/值对:


2)数组方式

  [
            {"key1": "value1"},
            {"key2": "value2"}
        ]

  
 

举例

{
"employees": [
{ "firstName":"John" , "lastName":"Doe" },
{ "firstName":"Anna" , "lastName":"Smith" },
{ "firstName":"Peter" , "lastName":"Jones" }
]
}

  
 

在上面的例子中,对象 “employees” 是包含三个对象的数组。每个对象代表一条关于某人(有姓和名)的记录。


小结

  • 对象表示为键值对
  • 数据由逗号分隔
  • 花括号保存对象
  • 方括号保存数组

四.JS 内置两个Json方法

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

①JS对象 –> JSON 字符串,使用 JSON.stringify() 方法:

var json = JSON.stringify({a: 'Hello', b: 'World'}); 
 // 结果是 '{"a": "Hello", "b": "World"}'

  
 

把数据序列化为json字符串


②JSON 字符串 –> JS对象,使用 JSON.parse() 方法:

var obj = JSON.parse('{"a": "Hello", "b": "World"}');   
// 结果是 {a: 'Hello', b: 'World'}

  
 

把json数据反序列化为一个js对象。


五.标准JSON格式定义

  • JSON格式的定义一般遵循如下规范:
{
    "status":           // 接口访问成功或者失败的状态码
    "message":          // 接口访问错误的时候返回的错误提示文字,访问成功的时候为空字符串
    "data":{            // 服务端实际返回的数据
    }
}

  
 

举例

//前后端分离,推荐后端返回给前端数据格式
{
"status" : 0 ,          //执行状态码
"msg"    : "SUCCESS",   //说明文字信息,没有为NULL
"data"   :[{            //对象中嵌套数组,数组是返回的数据,
"id"    : 1 ,
"name"  : "Tom"
},{
"id"    : 2,
"name"  : "Jerry"
}]
}

  
 
  • 请求接口失败的例子
{
    "status": "1", 
    "message": "您尚未登录,请登录后继续操作"
}

  
 

在这里插入图片描述

Thanks for looking so good and paying attention to me

2020.02.24

文章来源: blessing.blog.csdn.net,作者:辰兮要努力,版权归原作者所有,如需转载,请联系作者。

原文链接:blessing.blog.csdn.net/article/details/104478701

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。