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

相关推荐
譕痕2 天前
JSONObject与JSONArray封装数据格式区别
java·json
A黄俊辉A2 天前
uniapp webview中实现 app和内嵌的H5双向通信
vue.js·json
伞伞悦读2 天前
【第37期】Python JSON 与配置详解:序列化、反序列化、嵌套结构和配置文件
开发语言·python·json
Mikko72 天前
jackson-databind 升到 2.21.6 就安全了吗?jackson-core 是另一个坐标,它那条 high 全局库至今没收
java·后端·安全·json
天若有情6735 天前
独立开发复盘:我用 Node.js 做了个在线工具箱
前端·json·工具
Asurplus5 天前
【SpringBoot4】3、从SpringBoot4升级Sa-Token1.46.0报错
redis·sa-token·json·jackson·springboot4
代码中介商5 天前
C++ 预约系统实战(三):服务端实现——libevent 事件驱动与业务路由
c++·json·c/s
譕痕6 天前
notepad++安装插件 可视化展示 json串内容
json·intellij-idea
databook6 天前
DuckDB + SQL 高效分析 JSON 数据
数据分析·json·nosql
执明wa6 天前
Android RecyclerView 多类型, 多种 Item
android·xml·开发语言·设计模式·android studio