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)

```

相关推荐
波力海苔夹心脆6759 小时前
C# 序列化与反序列化详解:System.Text.Json、Newtonsoft.Json、XmlSerializer 用法、特性选项与安全实践
经验分享·后端·c#·json·.net
数据狐(Datafox)1 天前
淘宝商品详情API实战:多语言代购商城自动同步数据完整方案
开发语言·前端·数据库·爬虫·json
阿钱真强道2 天前
21 嵌入式操作系统 | JSON 与 json-c:生成与解析
c语言·开发语言·json·json-c
譕痕8 天前
JSONObject与JSONArray封装数据格式区别
java·json
A黄俊辉A8 天前
uniapp webview中实现 app和内嵌的H5双向通信
vue.js·json
伞伞悦读8 天前
【第37期】Python JSON 与配置详解:序列化、反序列化、嵌套结构和配置文件
开发语言·python·json
Mikko78 天前
jackson-databind 升到 2.21.6 就安全了吗?jackson-core 是另一个坐标,它那条 high 全局库至今没收
java·后端·安全·json
天若有情67310 天前
独立开发复盘:我用 Node.js 做了个在线工具箱
前端·json·工具
Asurplus10 天前
【SpringBoot4】3、从SpringBoot4升级Sa-Token1.46.0报错
redis·sa-token·json·jackson·springboot4
代码中介商11 天前
C++ 预约系统实战(三):服务端实现——libevent 事件驱动与业务路由
c++·json·c/s