Python 中的json常见用法实例详解

Python 中的 JSON 常见用法实例详解

什么是 JSON?

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它基于 JavaScript 的语法规则,但具有更加简单易读的特点。JSON 格式的数据可以被快速解析和生成,是一种纯文本格式,可以通过网络进行通信,也可以存储在本地。因此它在 Web 应用中得到了广泛的使用。

一个 JSON 格式的数据通常由 key/value 键值对组成,其中 key 通常为字符串类型,而 value 可以是任意 JSON 支持的数据类型。

Python 中的 JSON 库

Python 中提供了一个内置的 json 模块,用于对 JSON 格式的数据进行解析和生成。

解析 JSON 数据

Python 中,可以使用 json.loads() 方法将 JSON 格式的字符串转换为 Python 对象(如字典、列表)。

import json

json_str = '{"name": "Tom", "age": 18}'
json_dict = json.loads(json_str)
print(json_dict)

输出结果为:

{'name': 'Tom', 'age': 18}

生成 JSON 数据

Python 中,可以使用 json.dumps() 方法将 Python 对象(如字典、列表等)转换为 JSON 格式的字符串。

import json

json_dict = {'name': 'Tom', 'age': 18}
json_str = json.dumps(json_dict)
print(json_str)

输出结果为:

{"name": "Tom", "age": 18}

处理 JSON 文件

Python 中,可以使用 json.load() 方法读取 JSON 文件并生成 Python 对象,也可以使用 json.dump() 方法将 Python 对象写入 JSON 文件。

import json

# 读取 JSON 文件并生成 Python 对象
with open('data.json', 'r') as f:
    data = json.load(f)
    print(data)

# 将 Python 对象写入 JSON 文件
data = {'name': 'Tom', 'age': 18}
with open('data.json', 'w') as f:
    json.dump(data, f)

其中,data.json 为 JSON 格式的文件。

示例说明

示例1:解析 JSON 数据并处理

假设有一个名为 data.json 的 JSON 格式文件,其内容如下:

{
    "name": "Tom",
    "age": 18,
    "gender": "male",
    "hobbies": ["reading", "swimming"],
    "scores": {
        "math": 90,
        "english": 85
    }
}

现在需要对这个数据进行处理,可以采用以下方式:

import json

# 读取 JSON 文件并生成 Python 对象
with open('data.json', 'r') as f:
    data = json.load(f)
    print(f'name:{data["name"]}')
    print(f'age:{data["age"]}')
    print(f'gender:{data["gender"]}')
    print(f'hobbies:{data["hobbies"]}')
    print(f'scores:{data["scores"]}')

输出结果为:

name:Tom
age:18
gender:male
hobbies:['reading', 'swimming']
scores:{'math': 90, 'english': 85}

示例2:生成 JSON 数据并写入文件

假设需要生成以下 JSON 格式的数据,并写入到指定文件中。

[
    {
        "name": "Tom",
        "age": 18
    },
    {
        "name": "Lucy",
        "age": 20
    }
]

可以采用以下代码:

import json

data = [
    {
        "name": "Tom",
        "age": 18
    },
    {
        "name": "Lucy",
        "age": 20
    }
]

# 将 Python 对象写入 JSON 文件
with open('result.json', 'w') as f:
    json.dump(data, f, ensure_ascii=False, indent=4)

其中,ensure_ascii=False 表示在输出结果中不使用 ASCII 编码,indent=4 表示输出结果显示时,使用 4 个空格作为缩进。

输出结果为:

[
    {
        "name": "Tom",
        "age": 18
    },
    {
        "name": "Lucy",
        "age": 20
    }
]

以上是示例说明,更多关于 Python 中 JSON 的使用,请参考官方文档。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python 中的json常见用法实例详解 - Python技术站

(0)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • JSON的String字符串与Java的List列表对象的相互转换

    Sure! 首先说明一下,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其简单易读易写,通常用于在前后端之间传递数据。在Java中,我们可以通过Jackson或Gson等库来实现JSON的序列化和反序列化。下面我将详细说明如何将JSON的String字符串和Java的List列表对象相互转换。 JSON字符串转…

    C 2023年5月23日
    00
  • C语言实现堆的简单操作的示例代码

    C语言实现堆的简单操作的示例代码 堆的定义 堆是指通过比较之后使得数组满足大/小根堆性质的一种近似完全二叉树结构。 堆的结构 堆有两种类型,分别为大根堆和小根堆。大根堆指所有父结点都大于等于其子结点,小根堆则相反,所有父结点都小于等于其子结点。 假设i为当前结点,那么其父结点为(i-1)/2,左子结点为(2i+1),右子结点为(2i+2)。 堆支持如下操作:…

    C 2023年5月23日
    00
  • c++中虚函数的实现详解

    现在我来详细讲解一下 “C++中虚函数的实现详解” 的完整攻略,包含以下内容: 1. 什么是虚函数 虚函数是C++中的一种特殊函数,可以让我们在基类中声明一个方法,在子类中对其进行重新定义,从而实现多态的特性。在实际应用中,我们通常通过将基类指针指向子类对象的方式来调用虚函数。 2. 虚函数的实现 2.1 虚函数表 C++中通过虚函数表(vtable)来实现…

    C 2023年5月23日
    00
  • Java利用Optional解决空指针异常

    当我们在编写Java代码时,常常会遇到空指针异常(NullPointerException)的情况,这会给我们的程序带来很大的不稳定性和安全性问题。而Java 8中新增的Optional类可以有效地解决这一问题。本文将详细讲解如何利用Optional解决空指针异常。 Optional的介绍 Optional类是Java 8中新增的一个类,可以用来解决空指针异…

    C 2023年5月22日
    00
  • go语言规范RESTful API业务错误处理

    针对你的问题,我来详细讲解一下“Go语言规范RESTful API业务错误处理”的完整攻略。 一、什么是RESTful API REST(Representational State Transfer)是一种设计风格,指的是一组架构约束条件和原则。RESTful API 则是通过遵循 REST 设计风格构建的 Web API。它基于 HTTP 协议,使用 H…

    C 2023年5月23日
    00
  • VC++简单实现关机、重启计算机实例代码

    现在我会详细讲解VC++简单实现关机、重启计算机实例代码的完整攻略。 什么是VC++? VC++是指微软的Visual C++开发工具,它是一种基于C++语言的编程软件,提供了方便的视觉化开发环境,可以轻松地实现众多应用程序和系统级程序的编写。 实现关机、重启计算机 实现原理 VC++实现关机和重启计算机的原理其实也很简单,就是调用Windows API中的…

    C 2023年5月24日
    00
  • linux多线程编程(四)

    Linux多线程编程(四)攻略 前言 本文将讲解在Linux环境下进行多线程编程的基本概念、操作方法和注意事项,通过示例代码演示实现多线程的一些常见用法。 基础知识 线程的创建和销毁 线程是轻量级的进程,一个进程可以包含多个线程。线程的创建和销毁都是通过pthread库中的函数来完成的: #include <pthread.h> int pthr…

    C 2023年5月22日
    00
  • C程序 计算矩阵对角线之和

    下面是“C程序 计算矩阵对角线之和”的使用攻略。 程序功能说明 本程序通过输入矩阵的行列数以及矩阵元素,计算出矩阵的对角线之和。矩阵可以是正方形矩阵或长方形矩阵,支持浮点数和整数类型的元素。 程序使用说明 环境准备 在运行本程序前,需要确保您的电脑上已经安装了GCC编译器、C语言库以及相关的开发工具。 程序下载 您可以在网上搜索“矩阵对角线之和C程序下载”,…

    C 2023年5月9日
    00
合作推广
合作推广
分享本页
返回顶部