Day23_学点儿JSON_定义、数据格式、和XML比较、插件

1 JSON定义

定义:是一种轻量级的数据交换格式
JSON是JavaScript Object Notation缩写

特点:

  1. 易于程序员阅读和编写。
  2. 易于计算机解析和生成。
  3. 其实是javascript的子集:原生javascript支持JSON
<script type="text/javascript">var student = {name:'gao',age: 23,print : function() {console.log("name" + this.name + ", age: " + this.age);}}console.log(student.name);student.print()
</script>

在这里插入图片描述
JSON是一种与语言无关的数据交换的格式,作用:
1. 使用ajax进行前后台数据交换
2. 移动端与服务端的数据交换

2 JSON数据格式

JSON的语法规则十分简单,可称得上“优雅完美”,总结起来有:
JSON有两种结构:
1)对象格式:{“key1”:obj1, “key2”:obj2, “key3”:obj3…}
2)数组/集合格式: [obj1,obj2,obj3…]
注意:JSON的key是字符串,JSON的value是Object

规则如下:
1)映射用冒号(“:”)表示。名称:值
2)并列的数据之间用逗号(“,”)分隔。名称1:值1,名称2:值2
3) 映射的集合(对象)用大括号(“{}”)表示。{名称1:值1,名称2:值2}
4) 并列数据的集合(数组)用方括号(“[]”)表示。

     [{名称1:,名称2:2},{名称1:,名称2:2}]

5)元素值可具有的类型:string, number, object, array, true, false, null
对象与数组:

1)对象(Object)用大括号({})表示

Student:
{"id" : 12,"name" : "java1711","age" : 20,"gender" : "男"
}

2)数组(Array)用方括号([])表示:

List<Student>:   [{},{},{}]
[{"id" : 12,"name" : "java1711","age" : 20,"gender" : "男"},{"id" : 13,"name" : "java1712","age" : 21,"gender" : "女"}
]

3 JSON和XML比较

JSON常备拿来与XML做比较,因为JSON的诞生本来就或多或少要有取代XML的意思。
相比XML,JSON的优势如下:

  1. 没有结束标签,长度更短,读写更快。
  2. 能够直接被JavaScript解析器解析。
  3. 可以使用数组。

JSON:

{"id" : 12,"name" : "gao","age"  :   30,"gender" : "男","interests" : ["篮球", "爬山", "旅游"]
}

XML:

<root><id>12</id><name>gao</name><age>30</age><gender></gender><interest>篮球</interest><interest>爬山</interest><interest>旅游</interest>
</root>

JSON可以直接使用数组,但是XML没有直接定义数组,
如果数组很长,我们的代码中就要添加大量的没有实际意义的开始和结束标签,这对于网络传输是不利的。
XML主要是用在配置文件

4 JSON浏览器插件安装

https://www.baidufe.com/fehelper

https://layui.itze.cn/demo/table/user.json?page=2&limit=10
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/774.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

B-树 B+树与数据库原理

B树 引入 概念和性质 插入分析 总结 B树 B*树&#xff08;了解&#xff09; 数据库原理 数据库与B树的关系

【深度学习实战(10)】图像推理之预处理

一、预处理流程 在把一张图像送入模型进行推理时&#xff0c;需要先进行预处理&#xff0c;预处理流程包括&#xff1a; &#xff08;1&#xff09;读取图像 &#xff08;2&#xff09;尺寸调整&#xff0c;letter_box&#xff08;不失真&#xff09; &#xff08;3&#xff0…

小红的排列构造(dp优化)

题目描述 小红拿到了一个长度为n的数组a&#xff0c;她希望你构造两个排列p和q&#xff0c;满足对于i∈[1,n],ai∈[1,n]pi或qi二选一。你能帮帮她吗&#xff1f;定义排列是一个长度为n的数组&#xff0c;其中1到n每个元素恰好出现1次。 输入描述:第一行输入一个正整数n&#…

Linux平台Alsa库移植

嵌入式Linux平台Alsa库移植 1. Alsa-lib2. Alsa-utilsAplay播放避坑 1. Alsa-lib alsa-lib下载地址&#xff1a;https://www.alsa-project.org/files/pub/lib/ 这里使用的版本是alsa-lib-1.0.29 下载完成并解压&#xff0c;进入alsa-lib-1.0.29目录 编译配置如下&#xff1a; …

关于selenium各种操作语句(方便查询便携版)

定位方法 #功能from selenium import webdriver#载入驱动 from selenium.webdriver.common.by import By #新版载入by,旧版的find_element_by_id语句一般会被划掉&#xff0c;然后给你提示说语句已淘汰&#xff0c;不过目前还是可以运行&#xff0c;只是代码不好看。#启动驱动的…

解释RocketMQ的“消息顺序”特性

RocketMQ的“消息顺序”特性指的是它能按照发送方的预期&#xff0c;保持消息在生产和消费过程中的顺序一致性。这一特性对于某些特定的应用场景至关重要&#xff0c;比如金融交易、订单处理等&#xff0c;在这些场景中&#xff0c;消息的顺序性对于业务逻辑的正确性有着决定性…

解析OceanBase v4.2 Oracle 语法兼容之 LOCK TABLE

背景 在OceanBase V4.1及之前的版本中&#xff0c;尽管已经为Oracle租户兼容了LOCK TABLE相关的语法&#xff0c;包括单表锁定操作&#xff0c;和WAIT N&#xff0c; NOWAIT 关键字。但使用时还存在一些限制。例如&#xff1a;LOCK TABLE只能针对单表进行锁定&#xff0c;并不…

Leetcode287_寻找重复数

1.leetcode原题链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 2.题目描述 给定一个包含 n 1 个整数的数组 nums &#xff0c;其数字都在 [1, n] 范围内&#xff08;包括 1 和 n&#xff09;&#xff0c;可知至少存在一个重复的整数。 假设 nums 只有 一个重复…

URL GET +号后台接收成空格

问题&#xff1a;参数spdmwhbs001 其中包含URL特殊符号 如果用GET请求方式不做任何不处理那么浏览器自动将转为%20 请求链接为 details?spdmwhbs%20001&limitKcysType1 后台接收到的参数为 whbs 001 &#xff0c;自动将号转成空格了。 尝试解决&#xff08;失败&#…

Redis中的事务(二)

事务 事务的实现 执行事务 当一个处于事务状态的客户端向服务器发送EXEC命令时&#xff0c;这个EXEC命令将立即被服务器执行&#xff0c;服务器会遍历这个客户端的事务队列&#xff0c;执行队列中保存的所有命令&#xff0c;最后将执行命令所得的结果全部返回给客户端。 例…

kubernets 节点数量限制修改

kubelet节点pod数量限制 在 Kubernetes 中&#xff0c;kubelet 的 --max-pods 参数默认值是 110。这意味着每个节点上最多可以运行 110 个 Pod。这个默认值是为了在大多数情况下提供一个合理的默认限制&#xff0c;以避免节点资源被过度占用。 如果需要修改默认的 --max-pods…

STM32学习和实践笔记(17):STM32外部中断(EXTI)的整体介绍

1.外部中断介绍 1.1 EXTI简介 STM32F10x外部中断/事件控制器&#xff08;EXTI&#xff09;包含多达 20 个用于产生事件/中断请求的边沿检测器。&#xff08;事件与中断的区别&#xff0c;可参看STM32---中断与事件的区别_中断和事件的区别-CSDN博客&#xff09; 具体有哪些&a…

C语言结课实战项目_贪吃蛇小游戏

目录 最终实现效果&#xff1a; 实现基本的功能&#xff1a; 根据游戏进程解释代码&#xff1a; 游戏初始化&#xff1a; 首先进入游戏&#xff0c;我们应该将窗口名称改为 “贪吃蛇” 并将光标隐藏掉。再在中间打印游戏信息。 之后我们要把地图打印出来&#xff1a; 然后…

Redis(三) 事务与发布订阅

结合前两期 Redis(一) Redis简介(Redis(一) Redis简介-CSDN博客) Redis(二) 可编程性(Redis(二) 可编程性-CSDN博客) 目录 事务在 Redis 中的运作方式 用法 事务中的错误 回滚 放弃命令队列 使用检查和设置的乐观锁定 WATCH解释 使用 WATCH 实现 ZPOP Redis 发布/订…

Python的pytest框架(4)--参数化测试

在 pytest 测试框架中&#xff0c;参数化测试&#xff08;Parametrized Testing&#xff09;意味着将一个测试用例设计为能够接受不同输入数据&#xff08;参数&#xff09;并分别执行&#xff0c;以验证被测试代码在面对多种情况时的行为是否符合预期。参数化测试的核心理念是…

DAY28| 93. 复原IP地址 ,79.子集 ,90.子集II

文章目录 93.复原IP地址78.子集90.子集II 93.复原IP地址 文字讲解&#xff1a;复原IP地址 视频讲解&#xff1a;复原IP地址 **状态&#xff1a;**此题调试了几次ok&#xff0c;与昨天的分割回文子串相比&#xff0c;就是在判断终止条件处需要处理&#xff1b; 思路&#xff1a;…

设计模式- 单例模式(Singleton)结构|实现方式|优缺点|场景

目录 设计模式&#xff08;分类&#xff09; 设计模式&#xff08;六大原则&#xff09; 创建型 工厂方法 抽象工厂模式 单例模式 建造者模式 单例模式&#xff08;Singleton Pattern&#xff09;是一种创建型设计模式&#xff0c;其…

rust : condvar中一对一和多对一模式初探

condvar是不经常碰到的&#xff0c;但其实在tokio之类库中&#xff0c;还是非常核心的作用。 想进一步体会condvar的使用&#xff0c;还是从场景出发。 一、一个通知发送者&#xff0c;一个接收者 假定一个员工收到一个任务&#xff0c;就是模拟是一个时间片&#xff0c;到时…

【Qt】设置QT标准对话框为中文字体

设置QT标准对话框为中文字体 一、问题二、解决方法1、找到Qt内置的翻译文件 qt_zh_CN.qm2、在代码中加载该文件 一、问题 在Qt中我们使用的标准对话框都是英文&#xff0c;例如下面的 字体选择对话框&#xff0c;但是实际中我们需要构建的是中文对话框。 所以我们需要使用Qt官…

19篇 vue3进阶

一 基础特性 1. **Composition API**&#xff1a;引入了组合式 API&#xff0c;允许以函数的方式组织组件逻辑。 2. **响应式系统**&#xff1a;使用 Proxy 作为其响应式系统的基础&#xff0c;提供更精确的依赖追踪。 3. **模板语法**&#xff1a;保留了 Vue 2 的模板语法…