Python中json文件的读取实现

 更新时间:2023年08月20日 15:38:51   作者:云泽野  
在许多编程语言中,都有内置的JSON解析器和生成器,可以方便地处理JSON数据,本文主要介绍了Python中json文件的读取实现,具有一定的参考价值,感兴趣的可以了解一下

1. json简介

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于将结构化数据进行传输和存储。它基于JavaScript语法,但可以被多种编程语言解析和生成。

json 基于文本,独立于语言的轻量级的数据交换格式

  • 基于文本,是一个文本文件,不能包含图片,音视频等
  • 独立于语言,不是某个语言特有的,每种编程语言都可以使用的
  • 轻量级,相同的数据,和其他格式相比,占用的大小比较小
  • 数据交换格式,后端程序员 给前端的数据 (json,xml,ProtoBuf等)

JSON具有广泛的应用,尤其在Web开发中常用于API的数据交互。在许多编程语言中,都有内置的JSON解析器和生成器,可以方便地处理JSON数据。

2.json的使用规范

JSON使用键值对的方式表示数据,其中键是字符串,值可以是字符串、数字、布尔值、对象、数组或null。

JSON的一些基本规则:

  • 键和值之间使用冒号(:)分隔。
  • 键值对之间使用逗号(,)分隔。
  • 数据包裹在大括号({})中表示一个对象。
  • 数组使用方括号([])表示,其中的元素可以是任意类型的数据,用逗号分隔。
  • json中的字符串必须使用双引号 ""
  • json文件的后缀名是 .json
  • 一个json文件对应一个对象或数组

3.json文件的书写

一个简单的JSON示例:

{
    "name": "zhangsan",
    "age": 20,
    "city": "BeiJing",
    "hobbies": ["reading", "running", "playing guitar"]
}

在上面的示例中,有一个包含个人信息的对象。它包含名称、年龄、所在城市、爱好数组 注意: 不能在一个json文件中定义两个json

如果想要在一个json文件中定义多个json,需要使用数组,如下:

4.json文件的读取

使用python读取json文件分为三步:

  • 导包
  • 读打开文件
  • 读文件

在此之前,先使用普通文件的读取方式进行读取:

with open("info.json",'r',encoding='UTF-8') as f:
    buf = f.read()
    print(type(buf))
    print(buf)

此处返回的结果是 字符串,在字符串中获取json中的键值对的信息是比较困难的.

不过在python中的json包中提供了一个 json.load() 方法

import json
with open("info.json",'r',encoding='UTF-8') as f:
    result = json.load(f)
    print(type(result))
    print(result)

可以看到返回值类型变成了 dict(字典),python字典中的数据也是键值对,因此要获取对应的数据也就很方便了

  • 使用方括号操作符 [key] :可以使用字典的key作为索引来获取对应的value。
  • 使用get()方法:get()方法可以接收一个key参数,并返回对应的value。如果key不存在,则可以指定一个默认值作为get()方法的第二个参数,如果不指定,默认值为None。

到此这篇关于Python中json文件的读取实现的文章就介绍到这了,更多相关Python json读取内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 用Python获取摄像头并实时控制人脸的实现示例

    用Python获取摄像头并实时控制人脸的实现示例

    这篇文章主要介绍了用Python获取摄像头并实时控制人脸的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Python基于QQ邮箱实现SSL发送

    Python基于QQ邮箱实现SSL发送

    这篇文章主要介绍了Python基于QQ邮箱实现SSL发送,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • 浅谈opencv自动光学检测、目标分割和检测(连通区域和findContours)

    浅谈opencv自动光学检测、目标分割和检测(连通区域和findContours)

    这篇文章主要介绍了浅谈opencv自动光学检测、目标分割和检测(连通区域和findContours),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • Python3中常见配置文件写法汇总

    Python3中常见配置文件写法汇总

    在开发过程中,我们会用到一些固定参数或者是常量。对于这些较为固定且常用到的部分,往往会将其写到一个固定文件中,这些文件就是配置文件。本文为大家汇总了Python3中常见配置文件的写法,感兴趣的可以了解一下
    2022-08-08
  • Python Web框架Flask、Streamlit、FastAPI示例详解

    Python Web框架Flask、Streamlit、FastAPI示例详解

    本文对比分析了Flask、Streamlit和FastAPI三大Python Web框架:Flask轻量灵活适合传统应用,Streamlit专注数据科学,快速构建交互式仪表板;FastAPI高性能且支持异,步,适合API开发,选择需结合项目需求、团队经验及功能特性,感兴趣的朋友一起看看吧
    2025-07-07
  • Python使用configparser库读取配置文件

    Python使用configparser库读取配置文件

    这篇文章主要介绍了Python使用configparser库读取配置文件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • 如何将Python包发布到PyPI的完整指南

    如何将Python包发布到PyPI的完整指南

    PyPI(Python Package Index)是python官方的第三方库的仓库,所有人都可以下载第三方库或上传自己开发的库到PyPI,这篇文章主要介绍了如何将Python包发布到PyPI的完整指南,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-11-11
  • Python远程视频监控程序的实例代码

    Python远程视频监控程序的实例代码

    这篇文章主要介绍了Python远程视频监控程序的实例代码,需要的朋友可以参考下
    2019-05-05
  • python如何安装下载后的模块

    python如何安装下载后的模块

    在本篇文章里小编给大家整理了关于python安装下载后的模块的方法,需要的朋友们可以学习下。
    2020-07-07
  • 关于Tensorflow使用CPU报错的解决方式

    关于Tensorflow使用CPU报错的解决方式

    今天小编就为大家分享一篇关于Tensorflow使用CPU报错的解决方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02

最新评论