Python json 模块dumps、dump、loads、load的使用

正文共286张图,6张图,预计阅读时间4分钟。

本文主要讲下json.dumps和json.dump、json.loads和json.load的区别,因为经常需要加载json文件,读取数据,傻傻分不清...

ison.dumps

json.dumps将python对象格式化成json字符.

1str={'article':'中华人民共和国共和国万岁','tag':'中国共产党万岁'}
2# 将python对象格式化成json字符串
3encoded_json=json.dumps(str,ensure_ascii=False)
4print(encoded_json,type(encoded_json))

输出如下:

1{"article": "中华人民共和国共和国万岁", "tag": "中国共产党万岁"} <class 'str'>

json.loads

json.loads将json字符串解码成python对象

1# 将json字符串解码成python对象
2decode_json=json.loads(encoded_json)
3print(decode_json,type(decode_json))

输出如下:

1{'article': '中华人民共和国共和国万岁', 'tag': '中国共产党万岁'} <class 'dict'>

json.dump

json.dump主要用来将python对象写入json文件

1# json.dump主要用来将python对象写入json文件
2f = open('demo.json','w',encoding='utf-8')
3json.dump(decode_json,f,ensure_ascii=False)
4f.close()

结果如下:

json.load

json.load加载json格式文件,返回python对象

1# json.load加载json格式文件,返回python对象
2f = open('demo.json','r',encoding='utf-8')
3data = json.load(f)
4print(data,type(data))
5f.close()

输入如下:

1{'article': '中华人民共和国共和国万岁', 'tag': '中国共产党万岁'} <class 'dict'>

完整代码

 1import json
 2
 3str={'article':'中华人民共和国共和国万岁','tag':'中国共产党万岁'}
 4# 将python对象格式化成json字符串
 5encoded_json=json.dumps(str,ensure_ascii=False)
 6print(encoded_json,type(encoded_json))
 7
 8# 将json字符串解码成python对象
 9decode_json=json.loads(encoded_json)
10print(decode_json,type(decode_json))
11
12# json.dump主要用来将python对象写入json文件
13f = open('demo.json','w',encoding='utf-8')
14json.dump(decode_json,f,ensure_ascii=False)
15f.close()
16
17# json.load加载json格式文件,返回python对象
18f = open('demo.json','r',encoding='utf-8')
19data = json.load(f)
20print(data,type(data))
21f.close()

原文链接:https://www.jianshu.com/p/a08012f576b7

查阅更为简洁方便的分类文章以及最新的课程、产品信息,请移步至全新呈现的“LeadAI学院官网”: www.leadai.org

原文发布于微信公众号 - 人工智能LeadAI(atleadai)

原文发表时间:2018-08-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据结构与算法

11:大整数减法

11:大整数减法 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB描述 求两个大的正整数相减的差。 输入共2行,第1行是被减...

296100
来自专栏青玉伏案

iOS开发之Masonry框架源码解析

Masonry是iOS在控件布局中经常使用的一个轻量级框架,Masonry让NSLayoutConstraint使用起来更为简洁。Masonry简化了NSLay...

22080
来自专栏Java架构沉思录

如何优雅地过滤敏感词

敏感词过滤功能在很多地方都会用到,理论上在Web应用中,只要涉及用户输入的地方,都需要进行文本校验,如:XSS校验、SQL注入检验、敏感词过滤等。今天着重讲讲如...

39410
来自专栏章鱼的慢慢技术路

OpenGL中的二维编程——从简单的矩形开始

19940
来自专栏zhisheng

#每日一题#4

4、已知广义表LS=((a,b,c),(d,e,f)),运用head和tail函数取出LS中原子e的运算是() A、head(tail(LS)) B、tail(...

35360
来自专栏PPV课数据科学社区

Pandas速查卡-Python数据科学

Josh Devlin 2017年2月21日 Pandas可以说是数据科学最重要的Python包。 它不仅提供了很多方法和函数,使得处理数据更容易;而且它已经...

41380
来自专栏ACM算法日常

确定比赛名次(拓扑排序) - HDU 1285

这次先讲理论,因为拓扑排序在日常工作中用的并不多,甚至于很多人可能忘了计算机中存在这样一种排序。我大概的整理一下拓扑排序的定义和应用,以便看了这...

11120
来自专栏java 成神之路

java.util.Random 实现原理

34750
来自专栏听雨堂

从MapX到MapXtreme2004[6]-标点心得

在Web上标点,首先要将图层所在文件夹的写权限放开。如果是普通的标点,可以这样:    MapInfo.Data.Table tb=MapInfo.Engine...

22080
来自专栏阿凯的Excel

或关系模糊匹配求均值(虐心升级版)

上期和大家分享了如何使用数组函数实现或关系求均值。 本期和大家分享进一步的应用,或关系模糊匹配求均值。 如果没看上期直接看本期会比较痛苦,来个传送门! 点击我可...

30660

扫码关注云+社区

领取腾讯云代金券