Python入门教程(二十八)Python中的JSON

Python入门教程(二十八)Python中的JSON

1. JSON简介

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成。JSON是基于JavaScript语言的一个子集,因此在很多编程语言中都可以按照JSON的标准进行解析和生成。

JSON中定义了两种数据结构:对象和数组。对象是由键值对构成,键和值之间使用冒号“:”分隔,键值对之间使用逗号“,”分隔,最外层需要用大括号“{}”包裹;数组是由值构成,值之间使用逗号“,”分隔,最外层需要用中括号“[]”包裹。

下面是一个JSON数据的示例:

{
  "name": "Tom",
  "age": 18,
  "hobbies": ["reading", "running", "swimming"],
  "address": {
    "city": "Beijing",
    "street": "Xueyuan Road"
  }
}

2. 使用Python处理JSON

Python内置了一个名为json的模块,它提供了loads()和dumps()两个函数,用于JSON格式的编码和解码。

2.1 loads()函数

loads()函数可以将JSON格式的字符串解码为Python对象。例如,我们有如下的JSON字符串:

{
  "name": "Tom",
  "age": 18,
  "hobbies": ["reading", "running", "swimming"],
  "address": {
    "city": "Beijing",
    "street": "Xueyuan Road"
  }
}

我们可以使用loads()函数将其解码为Python中的字典类型,并进行相关操作:

import json

json_str = '{"name": "Tom", "age": 18, "hobbies": ["reading", "running", "swimming"], "address": {"city": "Beijing", "street": "Xueyuan Road"}}'

data = json.loads(json_str)

print(data['name']) # Tom

print(data['hobbies']) # ['reading', 'running', 'swimming']

print(data['address']['city']) # Beijing

2.2 dumps()函数

dumps()函数可以将Python对象编码为JSON格式的字符串。例如,我们有一个Python字典对象,其内容如下:

data = {
  "name": "Tom",
  "age": 18,
  "hobbies": ["reading", "running", "swimming"],
  "address": {
    "city": "Beijing",
    "street": "Xueyuan Road"
  }
}

我们可以使用dumps()函数将其编码为JSON字符串,并进行相关操作:

import json

json_str = json.dumps(data)

print(json_str) # {"name": "Tom", "age": 18, "hobbies": ["reading", "running", "swimming"], "address": {"city": "Beijing", "street": "Xueyuan Road"}}

3. 示例

3.1 将Python对象保存为JSON文件

假设我们有如下的Python字典对象:

data = {
  "name": "Tom",
  "age": 18,
  "hobbies": ["reading", "running", "swimming"],
  "address": {
    "city": "Beijing",
    "street": "Xueyuan Road"
  }
}

我们可以使用dumps()函数将其编码为JSON格式的字符串,并将其保存到文件中:

import json

data = {
  "name": "Tom",
  "age": 18,
  "hobbies": ["reading", "running", "swimming"],
  "address": {
    "city": "Beijing",
    "street": "Xueyuan Road"
  }
}

json_str = json.dumps(data)

with open('data.json', 'w') as f:
    f.write(json_str)

这样,我们就将Python对象保存为了JSON格式的文件。

3.2 从JSON文件中读取数据并解码为Python对象

假设我们有如下的JSON格式的数据,保存在一个名为data.json的文件中:

{
  "name": "Tom",
  "age": 18,
  "hobbies": ["reading", "running", "swimming"],
  "address": {
    "city": "Beijing",
    "street": "Xueyuan Road"
  }
}

我们可以使用loads()函数将其解码为Python对象,并进行相关操作:

import json

with open('data.json', 'r') as f:
    json_str = f.read()

data = json.loads(json_str)

print(data['name']) # Tom

print(data['hobbies']) # ['reading', 'running', 'swimming']

print(data['address']['city']) # Beijing

这样,我们就从JSON文件中读取了数据,并将其解码为了Python对象。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python入门教程(二十八)Python中的JSON - Python技术站

(0)
上一篇 2023年6月3日
下一篇 2023年6月3日

相关文章

  • CryptographyDeprecationWarning:Python 核心团队不再支持 Python 2

    【问题标题】:CryptographyDeprecationWarning: Python 2 is no longer supported by the Python core teamCryptographyDeprecationWarning:Python 核心团队不再支持 Python 2 【发布时间】:2023-04-04 14:28:01 【问题…

    Python开发 2023年4月6日
    00
  • python利用 keyboard 库记录键盘事件

    下面是 python 利用 keyboard 库记录键盘事件的完整攻略。 安装 keyboard 库 首先,需要安装 keyboard 库,可以使用 pip 命令进行安装: pip install keyboard 监听键盘事件 使用 keyboard 库,可以监听各种键盘事件,如按键、释放、组合键等。以下是一个示例程序: import keyboard d…

    python 2023年6月5日
    00
  • 基于Python实现自动化生成数据报表

    基于Python实现自动化生成数据报表的完整实例教程如下: 1. 准备工作 在开始编写代码前需要进行准备工作:1. 安装Python;2. 安装所需的Python库,包括pandas、openpyxl、numpy等;3. 准备好需要处理的数据源,比如CSV文件。 2. 加载数据 将需要处理的数据加载到Python中,可以使用pandas库中的read_csv…

    python 2023年5月14日
    00
  • pytorch常用函数之torch.randn()解读

    一、概述 在PyTorch中,torch.randn()函数是一个常用的生成随机数据的函数。它可用于创建给定形状的张量,张量中的元素是从标准正态分布中抽取的随机数。 因此,本攻略将重点介绍torch.randn()函数。 二、函数定义 torch.randn(*size, out=None, dtype=None, layout=torch.strided,…

    python 2023年6月3日
    00
  • python基于tkinter制作无损音乐下载工具(附源码)

    Python基于tkinter制作无损音乐下载工具(附源码)攻略 本篇攻略将介绍如何使用Python和tkinter框架制作一个无损音乐下载工具。我们将介绍整个开发过程,包括如何实现主界面和下载功能,以及如何使用tkinter中的一些常见组件。同时也会分享相关的源码。 环境搭建 在开始之前,我们需要确保已经安装好了Python和tkinter。如果没有安装,…

    python 2023年6月3日
    00
  • 详解Python 函数式编程设计模式

    Python函数式编程设计模式是指使用函数式编程思想和技术实现的一种设计模式。函数式编程设计模式以函数为核心,通过使用高级函数、lambda表达式和闭包等技术实现代码的抽象、复用和组合。以下是Python函数式编程设计模式的完整攻略。 1. 高阶函数 在函数式编程设计模式中,函数是一等公民,即函数可以作为参数传递给另一个函数,也可以作为返回值返回给调用者。这…

    python-answer 2023年3月25日
    00
  • Python中的数学运算操作符使用进阶

    首先我们来讲解一下Python中的数学运算操作符: Python中的数学运算操作符有加、减、乘、除、幂运算等,对应的操作符如下: 符号 操作 + 加法 – 减法 * 乘法 / 除法 // 整除 % 取余 ** 幂运算 下面我们逐一说明它们的使用方法和进阶技巧: 加法 加法操作符用于两个数相加,可以是数字、字符串或者列表等类型。示例如下: a = 3 + 5 …

    python 2023年6月5日
    00
  • python处理csv数据动态显示曲线实例代码

    让我们来详细讲解一下“Python处理CSV数据动态显示曲线实例代码”的完整攻略。这个过程分为以下步骤: 解决依赖 使用Python处理CSV数据动态显示曲线需要用到两个库,即matplotlib和pandas。你需要确保这两个库已经被正确安装在你的Python环境中。如果没有安装,可以使用如下命令进行安装: pip install matplotlib p…

    python 2023年6月3日
    00
合作推广
合作推广
分享本页
返回顶部