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

1 JSON定义

定义:是一种轻量级的数据交换格式

JSON是JavaScript Object Notation缩写

特点:

  1. 易于程序员阅读和编写。
  2. 易于计算机解析和生成。
  3. 其实是javascript的子集:原生javascript支持JSON
javascript 复制代码
<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) 并列数据的集合(数组)用方括号("[]")表示。

json 复制代码
     [
        {名称1:值,名称2:值2},
        {名称1:值,名称2:值2}
     ]

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

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

json 复制代码
Student:
{
    "id" : 12,
    "name" : "java1711",
    "age" : 20,
    "gender" : "男"
}

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

json 复制代码
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:

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

XML:

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

相关推荐
fireworkseasycold29 分钟前
wpf 基于 JSON 的扩展配置 (Extended Config)” 功能
oracle·json·wpf
阿猿收手吧!4 小时前
【C++】JSON核心数据结构解析及JSONCPP使用
数据结构·c++·json
Wpa.wk6 小时前
接口自动化 - 解决大量响应数据字段的格式断言 -Json-schema
运维·经验分享·测试工具·自动化·json·接口测试
玄〤7 小时前
Spring MVC 讲解:从初始化流程到请求参数与 JSON 处理全解析(黑马课程ssm笔记总结)(day5)
java·spring·json·mvc
消失的旧时光-19438 小时前
Freezed + json_serializable:DTO / Domain 分层与不可变模型(入门到落地)-----上篇
flutter·json·dto·domain
java_t_t21 小时前
Java属性解析映射到Json
java·json
老歌老听老掉牙1 天前
Python JSON 配置文件读写简明指南
python·json
java干货1 天前
拒绝应用层循环!用 MySQL 8.0 JSON_TABLE 一键把 JSON 数组“变”成表
数据库·mysql·json
帅_shuai_1 天前
UE Json 序列化和反序列化
c++·ue5·json·虚幻引擎
ljh5746491192 天前
mysql JSON_CONTAINS
数据库·mysql·json