json.dumps(),json.loads(),json.dump(),json.load()方法的区别
1. json.dumps() 
 json.dump()是将字典类型转化成字符串类型。
import json
dic = {'a':'1111','b':'2222','c':'3333','d':'4444'}
st = json.dumps(dic)
print("我是字典类型的", dic)
print("我是字符串类型的",st)
print(type(dic))
print(type(st))代码输出结果:
我是字典类型的 {'a': '1111', 'b': '2222', 'c': '3333', 'd': '4444'}
我是字符串类型的 {"a": "1111", "b": "2222", "c": "3333", "d": "4444"}
<class 'dict'>
<class 'str'>2json.loads()方法 
json.loads()将字符串类型转化成字典类型
import json
name_emb = {'a':'1111','b':'2222','c':'3333','d':'4444'} 
jsDumps = json.dumps(name_emb)    
jsLoads = json.loads(jsDumps) 
print(name_emb)
print(jsDumps)
print(jsLoads)
print(type(name_emb))
print(type(jsDumps))
print(type(jsLoads))     
结果输出:{'a': '1111', 'c': '3333', 'b': '2222', 'd': '4444'}
{"a": "1111", "c": "3333", "b": "2222", "d": "4444"}
{u'a': u'1111', u'c': u'3333', u'b': u'2222', u'd': u'4444'}
<type 'dict'>
<type 'str'>
<type 'dict'>3、json.dump()
json.dump()用于将dict类型的数据转成str,并写入到json文件中。下面两种方法都可以将数据写入json文件
import json  
name_emb = {'a':'1111','b':'2222','c':'3333','d':'4444'}  
emb_filename = ('/home/cqh/faceData/emb_json.json')  
# solution 1
jsObj = json.dumps(name_emb)
with open(emb_filename, "w") as f:
    f.write(jsObj)
    f.close()  
# solution 2
json.dump(name_emb, open(emb_filename, "w"))4、json.load()
json.load()用于从json文件中读取数据。
import json  
emb_filename = ('/home/cqh/faceData/emb_json.json')  
jsObj = json.load(open(emb_filename))    
print(jsObj)
print(type(jsObj))
for key in jsObj.keys():
    print('key: %s   value: %s' % (key,jsObj.get(key)))运行结果如下:
{u'a': u'1111', u'c': u'3333', u'b': u'2222', u'd': u'4444'}
<type 'dict'>
key: a   value: 1111
key: c   value: 3333
key: b   value: 2222
key: d   value: 4444
    主要区别
    dump(),load()   处理的是json文件
    dumps(),loads() 处理的是字符串
    详细参数
    json.dumps()    将python对象编码成JSON字符串
    json.dumps(obj,                python对象(Boolean类型,None,数字类型,字符串,unicode,列表,元祖,字典)
                       skipkeys=False,        key值如果不是基础类型,True时,报错TypeError;     False(默认)时,跳过
                       ensure_ascii=True,     如果obj里包括非ASCII码,True时,编成ASCII码;    False时,不进行编码,原样输出
                       check_circular=True,   False时,"循环引用检查"对容器类型跳过检查,并且也可能导致溢出错误/或者更糟
                    allow_nan=True,     False时,对于序列化超出范围的float值,严格遵守JSON规范,将是一个ValueError而不是使用JavaScript等价物(NaN,Infinity,-Infinity)
                       cls=None, 
                       indent=None,     缩进,数字类型,None(默认)为最紧密的形式了
                       separators=None,    如果indent为None,默认值是(', ', ': '),如果指定的话,应该是一个元祖
                      default=None,       是一个函数,该函数能够把自定义类型的对象转换成可序列化的基本类型
                      sort_keys=False,     True时,输出将按字典key值排序输出
    )
    json.loads()    将已编码的JSON字符串编码为Python对象
    loads(s, *, encoding=None,          编码方式
             cls=None, 
             object_hook=None,                该函数负责把反序列化后的基本类型对象转换成自定义类型的对象
           parse_float=None,              如果指定,将调用每个JSON浮点的字符串进行解码。默认情况下,这相当于浮点(NUMYSTR)。这可以用于使用另一个数据类型或解析器用于JSON浮点(例如十进制、十进制)。
             parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)                 这些都不常用,含义同上类比
    json.dump()    将json信息写进文件
    dump(obj,                     要写入文件的对象
             wf,                     wf为使用with open打开文件的as别名
            *, skipkeys=False, ensure_ascii=True, check_circular=True,       同dumps()
            allow_nan=True, cls=None, indent=None, separators=None,      同dumps()
            default=None, sort_keys=False, **kw)           同dumps()
    json.load()    将读取json信息
    load(rf,                              rf为使用with open读文件的as别名
            *, cls=None, object_hook=None, parse_float=None,             同loads()
            parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)  同dumps()
json.dumps(),json.loads(),json.dump(),json.load()方法的区别的更多相关文章
- 爬虫 Http请求,urllib2获取数据,第三方库requests获取数据,BeautifulSoup处理数据,使用Chrome浏览器开发者工具显示检查网页源代码,json模块的dumps,loads,dump,load方法介绍
		爬虫 Http请求,urllib2获取数据,第三方库requests获取数据,BeautifulSoup处理数据,使用Chrome浏览器开发者工具显示检查网页源代码,json模块的dumps,load ... 
- python的json模块的dumps,loads,dump,load方法介绍
		dumps和loads方法都在内存中转换, dump和load的方法会多一个步骤,dump是把序列化后的字符串写到一个文件中,而load是从一个文件中读取字符串 将列表转为字符串 >>&g ... 
- Json模块dumps、loads、dump、load函数介绍
		转自:http://blog.csdn.net/mr_evanchen/article/details/77879967 Json模块dumps.loads.dump.load函数介绍 1.json. ... 
- Python中的Json模块dumps、loads、dump、load函数介绍
		Json模块dumps.loads.dump.load函数介绍 1.json.dumps() json.dumps() 用于将dict类型的数据转成str,因为如果直接将dict类型的数据写入json ... 
- python:Json模块dumps、loads、dump、load介绍
		由上篇文章(python3+requests:get/post请求)涉及到的json.dumps()扩展 1.json.dumps()用于将dict类型的数据转成str 备注:文件路径前面加上 r 是 ... 
- python 处理 json 四个函数dumps、loads、dump、load的区别
		1 .json.dumps() 函数是将一个 Python 数据类型列表(可以理解为字典)进行json格式的编码(转换成字符串,用于传播)eg, dict = {"age": &q ... 
- 【Python】Json序列化和反序列化模块dumps、loads、dump、load函数介绍
		1.json.dumps() json.dumps()用于将dict类型的数据转成str,因为如果直接将dict类型的数据写入json文件中会发生报错,因此在将数据写入时需要用到该函数. 转换案例: ... 
- Python Json模块中dumps、loads、dump、load函数介绍
		1.json.dumps() json.dumps()用于将dict类型的数据转成str,因为如果直接将dict类型的数据写入json文件中会发生报错,因此在将数据写入时需要用到该函数. import ... 
- Json中dumps、loads、dump、load函数实例讲解
		1.dumps() 1. json.dumps() 用于将字典(dic)类型的数据转成字符串(str),直接将dict类型的数据写入json文件中会发生报错,因此在将数据写入时需要用到该函数. imp ... 
- Python Json模块中dumps、loads、dump、load函数介绍哦
		来自: https://www.jb51.net/article/139498.htm 1.json.dumps() json.dumps()用于将dict类型的数据转成str,因为如果直 ... 
随机推荐
- [sh]getopt参数解析
			https://www.cnblogs.com/FrankTan/archive/2010/03/01/1634516.html sh参数处理方法 * 手工处理方式 * getopts #好像不支持长 ... 
- (转)Redis集群搭建与简单使用(最少需要 6个节点)
			介绍安装环境与版本 用两台虚拟机模拟6个节点,一台机器3个节点,创建出3 master.3 salve 环境. redis 采用 redis-3.2.4 版本. 两台虚拟机都是 CentOS ,一台 ... 
- git revert 撤销merge的动作
			在执行完git merge提交以后,通常会merge过的分支的提交记录都带过来,比如A分支merge到了B分支,那么B分支上肯定有A分支的提交记录,如果此时要回退这个merge动作,是产生一条reve ... 
- android studio 设置安装不占用C盘
			我们知道,android studio 安装会占用大量的空间,比如我们我们将andriod status 安装到了D:\IDE\Android Studio这里,但是你会发现,在编译出包过程中,C盘的 ... 
- 数据分析与挖掘 - R语言:贝叶斯分类算法(案例二)
			接着案例一,我们再使用另一种方法实例一个案例 直接上代码: #!/usr/bin/Rscript library(plyr) library(reshape2) #1.根据训练集创建朴素贝叶斯分类器 ... 
- python-列表解析、字典解析、集合解析
			列表解析.字典解析.集合解析 列表解析 生成一个列表 nums = [1, 3, 9] list_gen = [num**2 for num in nums if x <= 5] # [1, 9 ... 
- gdb强制生成core文件
			如何为自己的进程产生core 文件,又不想退出这个进程? 系统只在程序崩溃退出时自动产生core file. 有的人像自己处理异常信号,然后自己产生一个core file,然后继续运行.那该怎么办呢? ... 
- Entity Framework(Fluent API)
			一.概述 Fluent API 可以理解为一种从POCO到数据库的映射约定,包括字段长度,类型,主外键等等,在EF Code First进行开发时候经常用到. 1.主键 modelBuilder.En ... 
- windows 服务器硬盘的分区
			进入Server 2012的操作系统,打开CMD框,输入:diskmgmt.msc,回车. 操作完第一步后会弹出“磁盘管理”的框.鼠标右键点击红框所在位置,选中“压缩卷”. 在“输入压缩空间量(MB) ... 
- node.js初识02
			node.js相较于那些老的服务器语言,他的优势在于,节省了I/O的时间,主要的特点是单线程,非阻塞和事件驱动,其实三个说的是同一个事情,相较于多线程而言,单线程的特点是,使用的那一条线程的cpu的利 ... 
