JSON的基础使用

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成。它基于JavaScript编程语言的一个子集,但独立于语言,许多编程语言都支持JSON。

JSON的基本结构包括两种类型:对象(object)和数组(array)。对象是由键值对组成的无序集合,键是字符串,值可以是字符串、数字、布尔值、null、对象或数组。数组是由有序的值组成的集合,值可以是任何JSON支持的类型。

以下是一个简单的JSON示例:

```json

{

"name": "张三",

"age": 30,

"isStudent": false,

"courses": "语文", "数学", "英语",

"address": {

"city": "北京",

"street": "朝阳路"

}

}

```

在Python中,可以使用`json`模块来处理JSON数据。以下是一些常用的操作:

  1. 将Python对象转换为JSON字符串:

```python

import json

data = {

"name": "张三",

"age": 30,

"isStudent": False,

"courses": "语文", "数学", "英语",

"address": {

"city": "北京",

"street": "朝阳路"

}

}

json_string = json.dumps(data)

print(json_string)

```

  1. 将JSON字符串转换为Python对象:

```python

import json

json_string = '{"name": "张三", "age": 30, "isStudent": false, "courses": "语文", "数学", "英语", "address": {"city": "北京", "street": "朝阳路"}}'

data = json.loads(json_string)

print(data)

```

  1. 从文件中读取JSON数据:

```python

import json

with open('data.json', 'r', encoding='utf-8') as f:

data = json.load(f)

print(data)

```

  1. 将Python对象写入JSON文件:

```python

import json

data = {

"name": "张三",

"age": 30,

"isStudent": False,

"courses": "语文", "数学", "英语",

"address": {

"city": "北京",

"street": "朝阳路"

}

}

with open('data.json', 'w', encoding='utf-8') as f:

json.dump(data, f, ensure_ascii=False, indent=4)

```

相关推荐
前网易架构师-高司机12 小时前
带标注的羽毛球运动员,裁判,羽毛球识别数据集,识别率84.4%,2879张图,支持yolo,coco json,voc xml,文末有模型训练代码
xml·yolo·json·数据集·羽毛球·裁判
leisoo809713 小时前
股票数据本地化存储实战:JSON、数据库与列式存储的方案对比
jvm·数据库·json
切糕师学AI14 小时前
从压缩到查询:PostgreSQL中JSON数据的存储与处理实践
数据库·postgresql·json
doubt。17 小时前
大模型prompt工程Zero-Shot与Few-Shot以及json格式
人工智能·深度学习·机器学习·语言模型·json·prompt
烟锁池塘柳02 天前
Conda 创建环境报错:Unable to read repodata JSON file,清华源 pkgs/free 失效解决方法
json·conda
云水一下3 天前
零基础玩转bWAPP靶场(四十五):XSS - Reflected (JSON)
web安全·json·xss·bwapp·reflected
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ4 天前
Spring‑AI Document 对象 JSON 字段详解
人工智能·spring·json
sunywz4 天前
【从零搭建物联网智能充电桩系统】2、自定义二进制协议:设备为什么不用 JSON?
python·物联网·json
灵析表格4 天前
灵析表格手机号处理函数深度分析报告
前端·网络·json·wps·灵析表格·excel公式盒子
猿长大人4 天前
C# | JSON 序列化中的多态接口处理:基于 Attribute 实现精准 $type 控制
c#·json