Python如何处理JSON数据,保姆级教程,小白也能玩转

这篇具有很好参考价值的文章主要介绍了Python如何处理JSON数据,保姆级教程,小白也能玩转。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、简介:

        json (JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)

二、序列化与反序列化函数及实例

        所谓序列化,就是python编码为json类型;反序列化,就是json解码为python类型。下文将会详细展开Python里这两种的具体函数:

1、序列化 - python编码为json类型

(1)json.dumps():把python数据类型转换成json字符串

import json

# 把python数据类型转换成json字符串
dict_data = {'name': 'saxon', 'age': 18}
print('dict_data', end = ':')
print(dict_data)
print('dict_data type',end = ':')
print(type(dict_data))
json_data = json.dumps(dict_data)
print('json_data', end = ':')
print(json_data)
print('json_data type',end = ':')
print(type(json_data))

输出:

python处理json文件,json,python

(2)json.dump():把python数据类型转换成json字符串并存储在文件中

import json

# 把python数据类型转换成json字符串并存储在文件中
dict_data = {'name': 'saxon', 'age': 18}
with open('data/json_data.json', 'w') as f: # ‘w’表示写入文件,文件不存在则创建,存在则覆盖
    json.dump(dict_data, f)
    print("载入文件完成...")
    f.close()

输出:

python处理json文件,json,python

python处理json文件,json,python

2、反序列化 - json解码为python类型

(1)json.loads():解析json数据,返回python中的数据类型

import json

# 解析json数据,返回python中的数据类型
json_data = '{"name": "saxon", "age": 18}'
dict_data = json.loads(json_data)
print('dict_data', end = ':')
print(dict_data)
print('dict_data type',end = ':')
print(type(dict_data))

 输出:

python处理json文件,json,python

(2)json.load():打开json文件,解析json数据,返回python中的数据类型

import json

# 打开json文件,解析json数据,返回python中的数据类型
with open('data/json_data.json','r') as f:
    dict_data = json.load(f)
    print("解析文件完成...")
    print('dict_data', end = ':')
    print(dict_data)
    print('dict_data type',end = ':')
    print(type(dict_data))
    f.close()

输出:

python处理json文件,json,python

三、格式化输出Python数据类型到JSON文件

        我们常用json文件来进行大规模的数据存储和处理,故良好的缩进格式会提升阅读效率,格式化输出的代码如下:

import json

# 格式化输出python数据类型到json文件
dict_data = {'name': 'saxon', 'age': 18, 'hobby': ['basketball', 'football']}
with open('data/json_data.json', 'w') as f:
    # f.write(json.dumps(dict_data, indent=4, ensure_ascii=False))
    json.dump(dict_data, f, indent=4, ensure_ascii=False)
    print("格式化输出完成...")
    f.close()

        其中,indent=4设置json文件格式的缩进为4个空格,增加格式美观度;ensure_ascii=False指定不对非ASCII字符进行编码,直接输出中文至文件。

输出: python处理json文件,json,python

python处理json文件,json,python

四、Python与JSON的数据类型转换对应表

1、python类型编码为json类型转换对应表

Python

JSON

dict

object

list, tuple

array

str

string

int, float, int- & float-derived Enums

number

True

true

False

false

None文章来源地址https://www.toymoban.com/news/detail-724545.html

null

2、json类型解码为python类型转换对应表

JSON

Python

object

dict

array

list

string

str

number (int)

int

number (real)

float

true

True

false

False

null

None

到了这里,关于Python如何处理JSON数据,保姆级教程,小白也能玩转的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 教你接入Midjourney,不用梯子也能玩

    话不多说,先上最终出图效果, 我给的是一只白色的猫 API文档可以来这里查(可以白嫖100次midjourney出图和10次gpt4体验),我这里精简一下接入流程,方便大家快速接入 首先是先通过文字生图,token可以去api文档中复制粘贴过来即可,请求如下: prompt参数,必填,就是

    2024年02月08日
    浏览(40)
  • 帕鲁重大更新!macOS 竟然也能玩了

    近日,《幻兽帕鲁》迎来了 v0.2.1.0 大版本的更新。 本次更新的最大亮点是新实装的突袭头目系统。 玩家可以在 “召唤祭坛” 献祭石板 ,从而召唤强大的突袭头目。其中,“极” 难度的突袭头目更是面向终局玩家的巅峰挑战。击败突袭头目可获得珍稀的 “帕鲁蛋”,可以

    2024年04月08日
    浏览(43)
  • 低代码初体验:别担心,新手也能玩起的飞起!

    大家好,我是小代,一名00后的Java后端开发工程师。我热爱编程,希望通过写博客来分享我的学习经验和心得。最近,我加入了一家专注于低代码开发平台的公司,这里的技术挑战和新颖性让我决定开始我的博客之旅。 A公司经历 自2021年年初我一个人来到了北京,开始了我在

    2024年03月17日
    浏览(51)
  • Python小白入门:文件、异常处理和json格式存储数据

    所用资料 代码中所用到的文件可以从下面的网站进行下载: https://www.ituring.com.cn/book/2784 open函数 打开 一个文件。 接收参数为需要打开的文件名 。Python会在 当前执行的文件所在目录下 查找指定文件,因此需要把pi_digits.txt文件放在执行文件的同目录下。 open函数返回一个表示

    2024年02月13日
    浏览(52)
  • 太牛了,在PS中也能玩AI绘画stable diffusion

    在 PS 中也能使用 AI 绘画!Stable Diffusion插件的四种生图方式! 下面是对该插件的部分介绍: 相信大家一定都用过PS吧,就算没用过,但是总会听说过吧 同时各位AI爱好者们,听说过并且玩过SD吧(stable diffusion),都没有那么也不影响,咱们继续往下看 这两款都是独立且庞大

    2024年02月20日
    浏览(45)
  • 【专业指导】Mac电脑也能玩崩坏星穹铁道?快来看!

    4月26日,米哈游新作《崩坏:星穹铁道》即将全球正式公测.我昨天按倒计时算到10点才上线,结果一看下载量1000w…..赶紧上手体验一下,玩了4个小时, 目前比较满意,这个游戏本身素质不错,但是不可能达到原神那样的流行度。 1.基于回合制的战斗系统,这个系统设计的不过

    2024年02月05日
    浏览(49)
  • 小白也能听懂的ai音声制作入门教程了!!!

    最近看到网上有很多懒羊羊唱歌的视频,略感兴趣,于是就学习了一番,并选出来一个配置最低和最容易入门的项目教给大家,…(以后有空会写其他的) 当当!!! 音声转换项目DDSP的介绍和使用 ddsp-3.0是一款ai合成音频的开源项目,与之前的sovits,rvc,diff-svc不同,DDSP在训练

    2024年02月04日
    浏览(55)
  • CentOS7安装教程,简单几步,小白也能上手装!

    Linux,全称GNU/Linux,是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的

    2024年02月06日
    浏览(48)
  • 快速玩转Yolov5目标检测—没有好的显卡也能玩(二)

            上篇  快速玩转Yolov5目标检测—没有好的显卡也能玩(一) 已经将YoloV5在我的笔记本电脑上快速跑起来了,因为电脑显卡一般,所以运行的CPU版本,从推理结果来看,耗时还是蛮高的,如下图,平均每帧0.45秒左右: 理论上这已经能满足很多场景下的需求了,比如明

    2024年02月05日
    浏览(46)
  • 最简单IntelliJ IDEA安装教程(小白也能一次性安装完成)

    📚博客主页:爱敲代码的小杨. ✨专栏:《Java SE语法》 ❤️感谢大家点赞👍🏻收藏⭐评论✍🏻,您的三连就是我持续更新的动力❤️ 工欲善其事必先利其器,作为一名Java开发者,手上必须得有趁手的工具。市面上的Java开发IDE有:Eclipse、NetBeans、Lightly、IntelliJ IDEA、JDeve

    2024年01月18日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包