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)

```

相关推荐
油炸自行车8 小时前
Claude Code 错误:API Error: 400 Failed to deserialize the JSON body into the
开发语言·javascript·json·trae·claude code·api error 400
NiceCloud喜云19 小时前
Claude Code 跑 HyperFrames 实测:本地生成 AI 视频素材全流程
java·运维·人工智能·自动化·json·音视频·飞书
逍遥德21 小时前
PostgreSQL --- JSON 函数详解
数据库·sql·postgresql·json
輕華1 天前
Flask_GET请求与JSON响应实战详解
python·flask·json
NiceCloud喜云1 天前
Claude Code Routines 实战:三种触发器跑通云端自动化编码
android·运维·数据库·人工智能·自动化·json·飞书
海兰1 天前
Kibana Dashboard as Code:Elastic 9.4 如何用 Terraform 和类型化 API 终结“JSON 垃圾袋“
云原生·json·terraform
前网易架构师-高司机2 天前
带标注的交警识别数据集,可识别交警和非交警,5587张图,支持yolo,coco json,voc xml,文末有模型训练代码
xml·yolo·json·数据集·交警
●VON2 天前
鸿蒙Flutter实战:放弃sqflite选纯Dart JSON文件存储
flutter·华为·json·harmonyos·鸿蒙
MageGojo2 天前
给起名工具接入八字起名 API:参数设计、JSON 示例和应用场景
json·apache
jieyucx2 天前
Go 语言 JSON 序列化/反序列化:Tag 用法完全指南
开发语言·golang·json·序列化·tag