当前位置: 首页 > article >正文

谈谈JSON

中文名:JS键值对数据        英文名:JavaScript Object Notation

JSON是一种常用的数据格式,其简洁和清晰的层次结构有效地提升了网络传输效率,很多编程语言都支持JSON格式的数据交换

JSON 相比于 XML 来说,更小、更快,更易解析。

JSON数据

{ 
    "kind": "grape", 
    "color": "red", 
    "quantity": 12, 
    "tasty": true
}

XML数据(XML 被设计用来传输和存储数据,其焦点是数据的内容)

<?xml version="1.0" encoding="UTF-8" ?>
<kind>grape</kind>
<color>red</color>
<quantity>12</quantity>
<tasty>true</tasty>

JavaScript对象

let fruit = { 
    kind: "grape", 
    color: "red", 
    quantity: 12, 
    tasty: true
};

JSON对象(与JavaScript对象的唯一区别就是属性名带着双引号,变成字符串了)

可以清楚的看到,JSON是基于JavaScript对象语法的数据格式,所以所有的JSON对象都是JavaScript对象。

let jsonObjectFruit = { 
    "kind": "grape", 
    "color": "red", 
    "quantity": 12, 
    "tasty": true
};

JSON字符串(与JSON对象的区别就是在{}前后加了' ')

let jsonStringFruit = '{ 
    "kind": "grape", 
    "color": "red", 
    "quantity": 12, 
    "tasty": true
}';

JSON字符串与JSON对象之间的转化

Ⅰ、JSON字符串→JSON对象(反序列化)

let jsonFruitObject = JSON.parse(jsonStringFruit);

Ⅱ、JSON对象→JSON字符串(序列化)

let jsonStringFruit = JSON.stringify(jsonObjectFruit);

什么是序列化?

序列化 (Serialization)是将对象的状态信息转化为可以存储传输的形式的过程。(官方)

序列化可以被理解为将数据转化为字符串的过程。(简化,反序列化则相反)

e.g.: Java 序列化是一种将对象转换为字节流的过程,以便可以将对象保存到磁盘上,将其传输到网络上,或者将其存储在内存中,以后再进行反序列化,将字节流重新转换为对象。对于后端来讲,序列化即Java对象→JSON字符串,反序列化即JSON字符串→Java对象。后端一般会通过@responseBody注解将 “return Java对象” 转化为 “JSON对象”,传到前端。


http://www.kler.cn/a/452288.html

相关文章:

  • Flink中并行度和slot的关系——任务和任务槽
  • 图解HTTP-HTTP状态码
  • 【项目管理】根据业务流程进行函数结构设计和模块化设计
  • 关于科研中使用linux服务器的集锦
  • 基于Spring Boot的阿坝州旅游系统
  • 虚幻引擎是什么?
  • DigitalOcean Droplet 云服务器:新增自动扩展池功能
  • npm : 无法加载文件 D:\Nodejs\node_global\npm.ps1,因为在此系统上禁止运行脚本
  • openwrt 负载均衡方法 openwrt负载均衡本地源接口
  • 08 Django - Django媒体文件静态文件文件上传
  • Ubuntu存储硬盘扩容-无脑ChatGPT方法
  • 嵌入式学习-QT-Day06
  • 网站使用站群服务器都有哪些好处?
  • Vue学习手册03 Vue虚拟DOM详解
  • mysql,数据库主从同步搭建
  • 帝国cms电脑pc站url跳转到手机站url的方法
  • 20241225在ubuntu22.04.5下使用smartmontools命令查看ssd的寿命
  • Diffusers使用笔记
  • 2024年河北省职业院校技能大赛云计算应用赛项赛题第2套(容器云)
  • 从tryLock()源码来出发,解析Redisson的重试机制和看门狗机制
  • 2024年OpenTiny年度人气贡献者评选正式开始
  • MFC用List Control 和Picture控件实现界面切换效果
  • leetcode hot100 翻转二叉树
  • golang实现yaml配置文件的解析
  • DVWA靶场第三关 CSRF
  • 【jvm】内存泄漏与内存溢出的区别