JSON基础知识速成

一. JSON(JavaScript Object Notation)即JavaScript对象标记法:

-JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。

-JSON格式的数据以键值对的形式存储,类似于编程语言中的字典或对象。

-JSON格式的数据通常用于Web开发中的前后端数据交换,API响应等。

二.JSON基础语法知识

键值对(Key-Value Pair):

键值对是构成JSON对象的基本单元。

-- 键和值之间用冒号 : 分隔

--键必须是字符串类型,并且用双引号包围

如下:

{
  "name": "Alice",
  "age": 28,
  "is_student": true,
  "courses": ["Biology", "Mathematics", "Science"]
}

对象:

一个无序的键值对集合

--对象是由花括号 { } 包围的键值对集合

-- 每个键必须是字符串类型,并且用双引号 " " 包围

-- 键值对之间用逗号 , 分隔

-- 对象格式示例:`{ "key1": "value1", "key2": "value2" }`

--值可以是字符串、数值、布尔值、数组、对象或 "null"

数组:

有序的值的集合

-- 数组是由方括号 [ ] 包围的值列表

--数组中的值可以是任何JSON支持的数据类型,包括字符串、数字、布尔值、null、对象或数组(其他数组)

--数组中的值之间用逗号 , 分隔

["apple","banana","pear"]

字符串(String):

--字符串是用双引号 "' 包围的文本

--特殊字符需要使用转义字符,例如:\" 表示双引号,\\ 表示反斜杠,\n 表示换行符

{
  "name": "Alice",
  "occupation": "Programmer",
  "quote": "I see the future is HTML5.\nIt's not a tag, it's a doctype!",
  "details": {
    "age": 30,
    "address": "1234\\5678\\91011"
  },
  "skills": ["JavaScript", "HTML5", "CSS3", "JSON"]
}

这个字符串中包含了一个换行符 \n,它在字符串中被转义,所以会在文本中显示为换行。

"1234\\5678\\91011" 实际上表示的地址是 1234\5678\91011。这里的每个单独的 \ 都是一个字面上的反斜杠,而不是转义字符的开始。

 数字(Number):

--数字可以是整数或浮点数

--JSON不支持八进制和十六进制,数值必须以十进制表示

布尔值(Boolean):

-- 布尔值只有两个可能的值:true和false

Null:

--null表示空值

逗号分隔(Comma Separation):

--在对象中,除了最后一个键值对外,每个键值对后都需要用逗号 , 分隔

--在数组中,除了最后一个值外,每个值后都需要用逗号 , 分隔

{
  "book": {
    "title": "The Great Gatsby",
    "author": "F. Scott Fitzgerald",
    "published": 1925,
    "characters": ["Jay Gatsby", "Daisy Buchanan", "Tom Buchanan", "Nick Carraway"],
    "summary": "A portrait of the Jazz Age in all of its decadence and excess, seen through the eyes of the narrator, Nick Carraway.",
    "available": true
  }
}

读取json文件

以python为例:

一个book.json的文件

import json

# 打开JSON文件
with open('book.json', 'r') as json_file:
    # 加载JSON数据
    data = json.load(json_file)

# 打印读取的数据
print(data)
以mysql为例:
SELECT JSON_EXTRACT(json_column, '$.book.title') AS title,
       JSON_EXTRACT(json_column, '$.book.author') AS author,
       JSON_EXTRACT(json_column, '$.book.published') AS published,
       JSON_EXTRACT(json_column, '$.book.summary') AS summary,
       JSON_EXTRACT(json_column, '$.book.available') AS available
FROM table_name;

三·JSON应用

JSON的广泛应用得益于其简单性、灵活性和跨平台的特性,使其成为现代软件开发中不可或缺的数据格式之一。

主要应用场景:

Web开发:JSON常用于前端和后端之间的数据交换,尤其是在AJAX请求中用于异步加载数据,从而实现页面的局部刷新而无需重新加载整个页面。

API设计:RESTfulAPI通常使用JSON作为数据交换格式。因其结构简单、易于解析,非常适合网络传输。

配置文件:JSON格式清晰、层次分明,适合用来编写配置文件,如Web服务器的配置或应用程序的设置。

移动应用开发:在移动应用中,JSON常用于客户端和服务器之间的数据交互,因其数据量小,适合网络传输,可以提高响应速度。

序列化:JSON常用于对象的序列化,即将对象状态转换为可存储或传输的格式。例如,在Python中,可以使用json模块将对象序列化为JSON格式,并在需要时返回该序列化对象。

  • 13
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值