python:Json模块dumps、loads、dump、load介绍
转载请注明出处:https://www.cnblogs.com/shapeL/p/9037670.html
由上篇文章(python3+requests:get/post请求)涉及到的json.dumps()扩展
1.json.dumps()用于将dict类型的数据转成str
备注:文件路径前面加上 r 是为了避免转义
import json
dict = {'a': 'wo', 'b': 'zai', 'c': 'zhe', 'd': 'li'}
string = json.dumps(dict)
print(dict)
print(string)
print(type(dict))
print(type(string))
with open(r'C:\Users\zy\Documents\GitHub\python3\searchTest\json.json','w')as f:
f.write(string)
{'a': 'wo', 'b': 'zai', 'c': 'zhe', 'd': 'li'}
{"a": "wo", "b": "zai", "c": "zhe", "d": "li"}
<class 'dict'>
<class 'str'>
如果没有进行转换,则会报错:TypeError: write() argument must be str, not dict
import json
dict = {'a': 'wo', 'b': 'zai', 'c': 'zhe', 'd': 'li'}
with open(r'C:\Users\zy\Documents\GitHub\python3\searchTest\json.json','w')as f:
f.write(dict)
{'a': 'wo', 'b': 'zai', 'c': 'zhe', 'd': 'li'}
Traceback (most recent call last):
<class 'dict'>
File "C:/Users/zy/Documents/GitHub/python3/searchTest/json_test.py", line 11, in <module>
f.write(dict)
TypeError: write() argument must be str, not dict
json.dumps()参数解释:常用参数解释
indent:应该是一个非负的整型,如果是0,或者为空,则一行显示数据;否则会换行且按照indent的数量显示前面的空白
sort_keys:将数据根据keys的值进行排序
response = requests.post(url=url,headers=headers).json()
print(json.dumps(response,sort_keys=True,indent=))
举例结果:
{
"code": "",
"message": "",
"redirect": "",
"value": {
"name": "so",
"title": "",
"value": ""
}
}
2.json.loads():用于将str类型的数据转成dict
dict = {'a': 'wo', 'b': 'zai', 'c': 'zhe', 'd': 'li'}
dumps = json.dumps(dict)
loads = json.loads(dumps)
print(dict)
print(dumps)
print(loads)
print(type(dict))
print(type(dumps))
print(type(loads))
{'a': 'wo', 'b': 'zai', 'c': 'zhe', 'd': 'li'}
{"a": "wo", "b": "zai", "c": "zhe", "d": "li"}
{'a': 'wo', 'b': 'zai', 'c': 'zhe', 'd': 'li'}
<class 'dict'>
<class 'str'>
<class 'dict'>
3.json.dump()用于将dict类型的数据转成str,并写入到json文件中
dict = {'a': 'wo', 'b': 'zai', 'c': 'zhe', 'd': 'li'}
json.dump(dict,open(r'C:\Users\zy\Documents\GitHub\python3\searchTest\json.json','w'))

4.json.load()用于从json文件中读取数据
filename = (r'C:\Users\zy\Documents\GitHub\python3\searchTest\json.json')
jsObj = json.load(open(filename))
print(jsObj)
print(type(jsObj))
{'a': 'wo', 'b': 'zai', 'c': 'zhe', 'd': 'li'}
<class 'dict'>
python:Json模块dumps、loads、dump、load介绍的更多相关文章
- Python json模块dumps loads
python中json数据的使用. dumps和loads也是需要成对使用的,就像c++ new/delete malloc/free一样需要成对使用. 看着像json的字符串,也不一定是json字符 ...
- 细说【json&pickle】dumps,loads,dump,load的区别
1 json.dumps() json.dumps()是将字典类型转化成字符串类型. import json name_emb = {'a':'1111','b':'2222','c':'3333', ...
- Python中的Json模块dumps、loads、dump、load函数介绍
Json模块dumps.loads.dump.load函数介绍 1.json.dumps() json.dumps() 用于将dict类型的数据转成str,因为如果直接将dict类型的数据写入json ...
- Json模块dumps、loads、dump、load函数介绍
转自:http://blog.csdn.net/mr_evanchen/article/details/77879967 Json模块dumps.loads.dump.load函数介绍 1.json. ...
- python json模块(15)
JSON 的全称是 JavaScript Object Notation,即 JavaScript 对象符号,它是一种轻量级.跨平台.跨语言的数据交换格式,其设计意图是把所有事情都用设计的字符串来表示 ...
- Python中模块之os的功能介绍
Python中模块之os的功能介绍 1. os的变量 path 模块路径 方法:os.path 返回值:module 例如:print(os.path) >>> <module ...
- JSON实现序列化dump和dumps方法,JSON实现反序列化loads和load方法
通过文件操作,我们可以将字符串写入到一个本地文件.但是,如果是一个对象(例如列表.字典.元组等),就无 法直接写入到一个文件里,需要对这个对象进行序列化,然后才能写入到文件里. 设计一套协议,按照某种 ...
- python json模块使用详情
python其他知识目录 #json.数据交换用到json文件.json是特殊的字符串.访问网站,返回的就是json 1.json简介: 定义:JSON(JavaScript Object Notat ...
- Python—json模块
用于序列化的两个模块 json,用于字符串 和 python数据类型间进行转换 pickle,用于python特有的类型 和 python的数据类型间进行转换 Json模块提供了四个功能:dumps. ...
- Python: json模块实例详解
ref:https://www.jianshu.com/p/e29611244810 https://www.cnblogs.com/qq78292959/p/3467937.html https:/ ...
随机推荐
- 详解ebs接口之客户配置文件导入(一)
DECLARE l_rec_profile_t hz_customer_profile_v2pub.customer_profile_rec_type; l_rec_profile hz_custom ...
- Iterm2安装Zsh + Oh My Zsh+Solarized
安装Oh My Zsh curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh 安装Zsh ...
- Leetcode_24_Swap Nodes in Pairs
本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/43302355 Given a linked list, s ...
- unity连接photon服务端模块
using UnityEngine; using System.Collections; using System; public class PhotonConnection : Photon.Mo ...
- Gradle 1.12用户指南翻译——第三十三章. PMD 插件
本文由CSDN博客万一博主翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Githu ...
- CAS实现单点登录--错误记录
遇到的错误: 生成证书: 1. 命令:keytool -genkey -alias smalllove -keyalg RSA -keystore C:/keys/smallkey 错误:ja ...
- butternife Zelezny自动注入插件
插件地址:http://plugins.jetbrains.com/plugin/7369 Products: IntelliJ IDEA, RubyMine, WebStorm, PhpStorm, ...
- 面试之路(16)-归并排序详解(MergeSort)递归和非递归实现
归并排序的概念及定义 归并排序(Merge)是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的.然后再把有序子序列合并为整体有序序列. 归并排序是建立 ...
- obj-c编程13:归档
这篇归档内容的博文也挺有趣的,笨猫对好玩的东西一向感兴趣啊!如果用过ruby就会知道,obj-c里的归档类似于ruby中的序列化概念,不过从语法的简洁度来说,我只能又一次呵呵了. 下面大家将会看到2种 ...
- 恶补web之八:jQuery(2)
jquery中非常重要的部分,就是操作dom的能力: text() - 设置或返回所选元素的文本内容 html() - 设置或返回所选元素的内容(包括html标记) val() - 设置或返回表单字段 ...