广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python读写JSON格式数据
  • 259
分享到

Python读写JSON格式数据

jsonpython开发语言 2023-09-07 10:09:34 259人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

文章目录 JSON格式数据简介使用Python读写JSON格式数据1.读取json文件2.写入json文件 自己编写一个JsonUtils JSON格式数据简介 jsON文件的读写应算

文章目录

JSON格式数据简介

jsON文件的读写应算成Python基础知识的内容,但是由于在编写Nonebot插件时,常常会操作JSON类型的数据,今天就回顾一下python操作JSON。

JSON 全称“javascript Object Notation”,译为“JavaScript 对象简谱”或“JavaScript 对象表示法”,是一种轻量级的、基于文本的、开放的数据交换格式。JSON 在 WEB 开发领域有着举足轻重的地位,如果您想在 Web 开发领域大展身手的话,就必须了解 JSON。通俗点来说Json是一种文本格式,常用于数据存储。基本结构为键: 值,键仅可以为字符串,而值可以是字符串,列表,数字,或者另一些键值对
下面这段数据很好的展示了不同形式的Json结构:

{    "max": 1,    "1": {        "user": 825882638,        "type": "image"        "title": "超人"    },    "a": [        "芝麻开门",        {            "a": 2        },        "b"    ],    "c": {        "d": 888        "g": 888    }}

注意:所有Json文本最外层都必须有{}

使用Python读写JSON格式数据

接下来我们就以上面这个Json文本为样板讲解一下Json文件的解析。

在Python当中,如果我们要解析Json文件,就必须先导入Python安装时自带的json库,即import json,之后才可以进行json操作。

1.读取json文件

下面的代码告诉了我们如何读入一个json文件

with open("./new.json", "r", encoding="utf-8") as f:    content = json.load(f)

json.load是直接从文件读取json文本,而json.loads是读取进行了json编码的文本而非本地文件。

上述代码即从当前目录下的"new.json"文件当中读入json数据,随后json.load方法会将读入的json文本转换成Python当中的字典存入content变量当中。而在Python中操作JSON格式数据实际上就是操作字典、列表所组成的组合数据类型。

例如我们现在想要在上面的json文本当中提取最下面的"d"的值(代码中1号位置),可以这么操作val=content[“c”][“d”],这样就可以取到d的值,也就是333了。除此之外上例我们还可以看到[]包裹的列表,如果我们想取到其中的"a"(代码中2号位置)的值,应该这么写:val=content[“a”][1][“a”],此时val的值为2

2.写入json文件

with open("./new.json", "w", encoding="utf-8") as f:    json.dump(data, f, indent=4, ensure_ascii=False)

上述代码用于向json文件当中写入data数据,其中dump方法拥有很多参数,这里只讲上面代码中的三个,其他的请自行查阅。

obj:即上述第一个参数,用于传入需要写入Json文件当中的数据。

fp:即上述第二个参数,用于传入需要写入Json数据的文本指针

indent:传入Json文件换行缩进量,一般为2或者4。

ensure_ascii:是否允许Ascii码。若为True(默认),则输入的中文全会转化为\uXXXX存储。

自己编写一个JsonUtils

代码来源于GitHub上一个大佬,如何使用的话代码注释给出了详细说明!如果对此方面比较感兴趣可以去瞧瞧大佬!点击去见大佬

import json, osclass JsonUtils():    relative_url = "./data/"    abstract_url = "file:///home/ubuntu/qqbot/data/rpg/"    @staticmethod    def __preBuildFile(file: str, *default: UNIOn[str, dict]) -> bool:        """        判断文件及路径是否存在,若不存在则创建并生成对应文件内容        :param file: 文件路径        :param default: 默认文件内容        :return:        """        if (not os.path.exists(file)):            path = os.path.split(file)            if (not os.path.exists(path[0])):                os.mkdir(path[0])            with open(file, "w", encoding=utf-8") as f:                if (default):                    arg = default[0]                    if (isinstance(arg, str)):                        f.write(arg)                    elif (isinstance(arg, dict)):                        try:js = json.dumps(arg, indent=4, ensure_ascii=False)f.write(js)                        except json.JSONEncoder:return False                    else:                        f.write(str(arg))                else:                    f.write("")        return True                          @claSSMethod    async def read(cls, filename: str, *default) -> Tuple[dict, bool]:        """        读取指定json文件        :param filename: 文件路径        :param default: 若无此文件,创建该文件时写入的内容        :return: [读取到的内容, 是否为新创建的文件]        """        file_url = cls.relative_url + filename        if (default):            res = JsonUtils.__preBuildFile(file_url, default[0])        else:            res = JsonUtils.__preBuildFile(file_url)        with open(file_url, "r", encoding="utf-8") as f:            content = json.load(f)        return (content, res)    @classmethod    async def write(cls, filename: str, data: dict) -> None:        """        写入Json数据                :param filename: 文件路径        :param data: 写入的数据        :return:         """        file_url = cls.relative_url + filename        JsonUtils.__preBuildFile(file_url)        with open(file_url, "w", encoding="utf-8") as f:            content = json.dumps(data, indent=4, ensure_ascii=False)            f.write(content)

来源地址:https://blog.csdn.net/apple_51931783/article/details/128446662

--结束END--

本文标题: Python读写JSON格式数据

本文链接: https://www.lsjlt.com/news/398000.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python读写JSON格式数据
    文章目录 JSON格式数据简介使用Python读写JSON格式数据1.读取json文件2.写入json文件 自己编写一个JsonUtils JSON格式数据简介 JSON文件的读写应算...
    99+
    2023-09-07
    json python 开发语言
  • Python如何读写JSON格式数据
    目录JSON格式数据简介使用Python读写JSON格式数据1.读取json文件2.写入json文件自己编写一个JsonUtilsJSON格式数据简介 JSON 全称“J...
    99+
    2023-05-15
    Python读写 Python JSON读写 读写JSON格式数据
  • Python怎么读写JSON格式数据
    今天小编给大家分享一下Python怎么读写JSON格式数据的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。JSON格式数据简介...
    99+
    2023-07-05
  • Python 读写 Matlab Mat 格式数据的操作
    1. 非 matlab v7.3 files 读写 import scipy.io as sio import numpy # matFile 读取 matFile = 'matlabdata.mat' data...
    99+
    2022-06-02
    Python 读写Matlab Mat 读写数据
  • Python提取JSON格式数据
    文章目录 前言:一、JSON使用1.导入json的包2.常用的方法 二、实战1.json.loads()2.jsonpath 前言: 我们经常会用到json数据,json数据格式主要是用来和不同语言之间进行交互比如你要给...
    99+
    2023-08-18
    python json java
  • 使用python+pandas读写xlsx格式中的数据
    使用pandas库来读取xlsx格式中的数据。 excel中数据: 示例代码1: import pandas as pd # data = pd.read_excel('./d...
    99+
    2022-11-11
  • Python Json数据格式的转换
    1.json:是一种轻量级的数据交互格式,采用完全独立于编程语言的文本格式来存储和表示数据。 Python语言使用JSON有很大的优势,因为JSON无非就是一个单独或一个内部元素都是字典的列表,所以JSON可以直接和Python的字典或列表...
    99+
    2023-09-30
    json
  • 【Python】-- python与json数据格式的转换
    什么是json? json是一种轻量级的数据交互格式,可以按照json指定的格式去组织和封装数据。 json主要功能 json是一种在各个编程语言中流通的数据格式,负责不同编程语言中的数据传递与交互。 json的作用 为了让不同的语言都能相...
    99+
    2023-08-31
    json python 开发语言
  • java读取文件内容,解析Json格式数据方式
    目录java读取文件内容,解析Json格式数据一、读取txt文件内容(Json格式数据)二、解析处理Json格式数据三、结果存入数据库四、测试java 读取txt文件中的json数据...
    99+
    2022-11-12
  • python 读写csv格式的文件
    python在它的标准库中包含了csv模块。 例子环境 python3.4 win7 32位 1.读取csv文件 csvTest-data.csv内容如下: ItemID,Name,Description,Owner,Bor...
    99+
    2023-01-31
    格式 文件 python
  • python-将excel表格中的数据转化为json数据格式
    前言 excel表格中的数据,转化为json格式,再用程序去处理json数据,是常见的数据处理方式。这样可以实现按照需求去做数据处理。 需要用到的软件 除了python环境外,主要用到读取excel文...
    99+
    2023-09-02
    python excel json
  • 解读JSON的三种格式
    目录JSON的三种格式一、 JSON的全称二、为什么需要JSON三、JSON的三种格式四、JSON的常用方法总结JSON的三种格式 一、 JSON的全称 JSON的全称是JavaSc...
    99+
    2023-01-11
    JSON三种格式 JSON格式 三种JSON格式
  • Python(21)json.dumps()使用indent参数 格式化输出json数据格式
    json.dumps() 方法 将一个Python数据结构转换为JSON字符串 import jsondata = [{"name":"张","age":20},{"name":"王","age":2...
    99+
    2023-09-02
    python json 开发语言
  • 如何在golang中读写json数据
    这篇文章给大家介绍如何在golang中读写json数据,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。什么是golanggolang 是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言,其语...
    99+
    2023-06-14
  • json有哪些数据格式
    这篇文章主要讲解了“json有哪些数据格式”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“json有哪些数据格式”吧! json有...
    99+
    2022-10-19
  • PHP输出JSON格式数据方式
    目录PHP输出JSON格式数据PHP直接输出JSON数据总结PHP输出JSON格式数据 常用框架封装好的方法来输出JSON数据,但是手动去书写的时候却遇到了问题,因为输出的数据类型为...
    99+
    2023-02-18
    PHP输出JSON格式 PHP输出JSON数据 PHP输出数据
  • 如何把xml格式数据转成json格式?
    xml格式数据转json格式 导入json依赖 //导入maven依赖 org.json json 20220320 传入需要转换的xml,返回对应的jso...
    99+
    2023-08-24
    json xml java
  • Python数据读写之Python读写CSV文件
    目录1. 读取CSV文件 csv.reader()2. 写入CSV文件1. 读取CSV文件 csv.reader() 该方法的作用相当于就是通过 ',' 分割csv格...
    99+
    2022-11-11
  • 详解python读写json文件
    python处理json文本文件主要是以下四个函数: 函数 作用 ...
    99+
    2022-11-12
  • Python怎么读写JSON文件
    本篇内容介绍了“Python怎么读写JSON文件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!JSONJSON 起源JSON 全称 Java...
    99+
    2023-06-30
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作