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

2024-04-14 23:52

本文主要是介绍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
在这里插入图片描述

这篇关于Day23_学点儿JSON_定义、数据格式、和XML比较、插件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/904378

相关文章

百度/小米/滴滴/京东,中台架构比较

小米中台建设实践 01 小米的三大中台建设:业务+数据+技术 业务中台--从业务说起 在中台建设中,需要规范化的服务接口、一致整合化的数据、容器化的技术组件以及弹性的基础设施。并结合业务情况,判定是否真的需要中台。 小米参考了业界优秀的案例包括移动中台、数据中台、业务中台、技术中台等,再结合其业务发展历程及业务现状,整理了中台架构的核心方法论,一是企业如何共享服务,二是如何为业务提供便利。

Spring 源码解读:自定义实现Bean定义的注册与解析

引言 在Spring框架中,Bean的注册与解析是整个依赖注入流程的核心步骤。通过Bean定义,Spring容器知道如何创建、配置和管理每个Bean实例。本篇文章将通过实现一个简化版的Bean定义注册与解析机制,帮助你理解Spring框架背后的设计逻辑。我们还将对比Spring中的BeanDefinition和BeanDefinitionRegistry,以全面掌握Bean注册和解析的核心原理。

intellij idea generatorConfig.xml

generatorConfig.xml <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfigurationPUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-ge

Maven(插件配置和生命周期的绑定)

1.这篇文章很好,介绍的maven插件的。 2.maven的source插件为例,可以把源代码打成包。 Goals Overview就可以查看该插件下面所有的目标。 这里我们要使用的是source:jar-no-fork。 3.查看source插件的example,然后配置到riil-collect.xml中。  <build>   <plugins>    <pl

jenkins 插件执行shell命令时,提示“Command not found”处理方法

首先提示找不到“Command not found,可能我们第一反应是查看目标机器是否已支持该命令,不过如果相信能找到这里来的朋友估计遇到的跟我一样,其实目标机器是没有问题的通过一些远程工具执行shell命令是可以执行。奇怪的就是通过jenkinsSSH插件无法执行,经一番折腾各种搜索发现是jenkins没有加载/etc/profile导致。 【解决办法】: 需要在jenkins调用shell脚

Jenkins 插件 地址证书报错问题解决思路

问题提示摘要: SunCertPathBuilderException: unable to find valid certification path to requested target...... 网上很多的解决方式是更新站点的地址,我这里修改了一个日本的地址(清华镜像也好),其实发现是解决不了上述的报错问题的,其实,最终拉去插件的时候,会提示证书的问题,几经周折找到了其中一遍博文

关键字synchronized、volatile的比较

关键字volatile是线程同步的轻量级实现,所以volatile性能肯定比synchronized要好,并且volatile只能修饰于变量,而synchronized可以修饰方法,以及代码块。随着JDK新版本的发布,synchronized关键字的执行效率上得到很大提升,在开发中使用synchronized关键字的比率还是比较大的。多线程访问volatile不会发生阻塞,而synchronize

php中json_decode()和json_encode()

1.json_decode() json_decode (PHP 5 >= 5.2.0, PECL json >= 1.2.0) json_decode — 对 JSON 格式的字符串进行编码 说明 mixed json_decode ( string $json [, bool $assoc ] ) 接受一个 JSON 格式的字符串并且把它转换为 PHP 变量 参数 json

浙大数据结构:树的定义与操作

四种遍历 #include<iostream>#include<queue>using namespace std;typedef struct treenode *BinTree;typedef BinTree position;typedef int ElementType;struct treenode{ElementType data;BinTree left;BinTre

struts2中的json返回指定的多个参数

要返回指定的多个参数,就必须在struts.xml中的配置如下: <action name="goodsType_*" class="goodsTypeAction" method="{1}"> <!-- 查询商品类别信息==分页 --> <result type="json" name="goodsType_findPgae"> <!--在这一行进行指定,其中lis是一个List集合,但