转载请注明出处: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介绍的更多相关文章

  1. Python json模块dumps loads

    python中json数据的使用. dumps和loads也是需要成对使用的,就像c++ new/delete malloc/free一样需要成对使用. 看着像json的字符串,也不一定是json字符 ...

  2. 细说【json&pickle】dumps,loads,dump,load的区别

    1 json.dumps() json.dumps()是将字典类型转化成字符串类型. import json name_emb = {'a':'1111','b':'2222','c':'3333', ...

  3. Python中的Json模块dumps、loads、dump、load函数介绍

    Json模块dumps.loads.dump.load函数介绍 1.json.dumps() json.dumps() 用于将dict类型的数据转成str,因为如果直接将dict类型的数据写入json ...

  4. Json模块dumps、loads、dump、load函数介绍

    转自:http://blog.csdn.net/mr_evanchen/article/details/77879967 Json模块dumps.loads.dump.load函数介绍 1.json. ...

  5. python json模块(15)

    JSON 的全称是 JavaScript Object Notation,即 JavaScript 对象符号,它是一种轻量级.跨平台.跨语言的数据交换格式,其设计意图是把所有事情都用设计的字符串来表示 ...

  6. Python中模块之os的功能介绍

    Python中模块之os的功能介绍 1. os的变量 path 模块路径 方法:os.path 返回值:module 例如:print(os.path) >>> <module ...

  7. JSON实现序列化dump和dumps方法,JSON实现反序列化loads和load方法

    通过文件操作,我们可以将字符串写入到一个本地文件.但是,如果是一个对象(例如列表.字典.元组等),就无 法直接写入到一个文件里,需要对这个对象进行序列化,然后才能写入到文件里. 设计一套协议,按照某种 ...

  8. python json模块使用详情

    python其他知识目录 #json.数据交换用到json文件.json是特殊的字符串.访问网站,返回的就是json 1.json简介: 定义:JSON(JavaScript Object Notat ...

  9. Python—json模块

    用于序列化的两个模块 json,用于字符串 和 python数据类型间进行转换 pickle,用于python特有的类型 和 python的数据类型间进行转换 Json模块提供了四个功能:dumps. ...

  10. Python: json模块实例详解

    ref:https://www.jianshu.com/p/e29611244810 https://www.cnblogs.com/qq78292959/p/3467937.html https:/ ...

随机推荐

  1. 3. MariaDB设置主从复制

    翻译人员: 铁锚 翻译日期: 2013年12月25日 原文链接:  Setting Up Replication 主从复制包含两个步骤: 在 master 主服务器(组)上的设置,以及在 slave ...

  2. Python学习笔记 - 高阶函数

    高阶函数英文叫Higher-order function.什么是高阶函数?我们以实际代码为例子,一步一步深入概念. 变量可以指向函数 以Python内置的求绝对值的函数abs()为例,调用该函数用以下 ...

  3. python屏幕的交互(读取输出信息)input,raw_input的区别

    >>> input("your name?") your name?sam Traceback (most recent call last):   File & ...

  4. 一个很不错的支持Ext JS 4的上传按钮

    以前经常使用的swfUpload,自从2010年开始到现在,很久没更新了.而这几年,flash版本已经换了好多个,所以决定抛弃swfupload,使用新找到的上传按钮. 新的上传按钮由harrydel ...

  5. LDA主体模型

    一)LDA作用 传统判断两个文档相似性的方法是通过查看两个文档共同出现的单词的多少,如TF-IDF等,这种方法没有考虑到文字背后的语义关联,可能在两个文档共同出现的单词很少甚至没有,但两个文档是相似的 ...

  6. SpriteBuilder中关节的Breaking force属性

    在SpriteBuilder中三种物理关节都包含Breaking force区域在属性框中. 该属性被设置成关节可以承受的压力临界值.如果关节的压力超出了Breaking force中设置的值,则关节 ...

  7. Remove Google Play Games libraries on iOS (Unity3D开发之二十一)

    猴子原创,欢迎转载.转载请注明: 转载自Cocos2Der-CSDN,谢谢! 原文地址: http://blog.csdn.net/cocos2der/article/details/48313653 ...

  8. Linux 获得机器的IP和网卡信息

    Linux 获得机器的IP和网卡信息 代码来自于网络, 我改写了, 有美不敢自专, 特分享之.用法很简单,就3个函数. 头文件getmac.h: /** * getmac.h * * 2014-07- ...

  9. How tomcat works 读书笔记十七 启动tomcat 下

    在上一节中,我们程序的起始位置还是Bootstrap,现在我们通过bat文件来启动这个类. 在分析catalina.bat之前,我们先看看几个简单的我们能用到的dos命令. 基础知识 1 rem 注释 ...

  10. C语言之可变参实现scanf函数

    既然有printf函数可变参实现,那就一定有scanf函数的可变参实现.废话不多说,源码奉上: 本源码不过多分析,如要明白原理,请翻本博客以往的文章看说明. 欢迎关注新浪微博:http://weibo ...