Json模块dumps、loads、dump、load函数介绍
转自:http://blog.csdn.net/mr_evanchen/article/details/77879967
Json模块dumps、loads、dump、load函数介绍
1、json.dumps()
json.dumps()用于将dict类型的数据转成str,因为如果直接将dict类型的数据写入json文件中会发生报错,因此在将数据写入时需要用到该函数。
- import json
- name_emb = {'a':'1111','b':'2222','c':'3333','d':'4444'}
- jsObj = json.dumps(name_emb)
- print(name_emb)
- print(jsObj)
- print(type(name_emb))
- print(type(jsObj))
运行结果如下:
- {'a': '1111', 'c': '3333', 'b': '2222', 'd': '4444'}
- {"a": "1111", "c": "3333", "b": "2222", "d": "4444"}
- <type 'dict'>
- <type 'str'>
若在数据写入json文件时,未先进行转换,报错如下
- import json
- name_emb = {'a':'1111','b':'2222','c':'3333','d':'4444'}
- emb_filename = ('/home/cqh/faceData/emb_json.json')
- # jsObj = json.dumps(name_emb)
- with open(emb_filename, "w") as f:
- f.write(name_emb)
- f.close()
转换后再写入,则不报错
2、json.loads()
json.loads()用于将str类型的数据转成dict。
- 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'变成了u'a'是因为发生了类型转换,str会转换成unicode
- {'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
Json模块dumps、loads、dump、load函数介绍的更多相关文章
- 细说【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
python中json数据的使用. dumps和loads也是需要成对使用的,就像c++ new/delete malloc/free一样需要成对使用. 看着像json的字符串,也不一定是json字符 ...
- 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)函数篇
# dumps.loads函数 """json.dumps()用于将dict类型的数据转成strjson.loads()用于将str类型的数据转成dict. " ...
- JSON实现序列化dump和dumps方法,JSON实现反序列化loads和load方法
通过文件操作,我们可以将字符串写入到一个本地文件.但是,如果是一个对象(例如列表.字典.元组等),就无 法直接写入到一个文件里,需要对这个对象进行序列化,然后才能写入到文件里. 设计一套协议,按照某种 ...
- 函数和常用模块【day04】:函数介绍(一)
本节内容 1.函数介绍 2.函数定义 3.为什么要使用函数 一.介绍 在我们以往的学习编程的过程当中,碰到的最多的两张编程方式或者说编程方法:面向过程和面向对象.其实不管是哪一种,其实都是编程的方法论 ...
- Python Json模块中dumps、loads、dump、load函数介绍
1.json.dumps() json.dumps()用于将dict类型的数据转成str,因为如果直接将dict类型的数据写入json文件中会发生报错,因此在将数据写入时需要用到该函数. import ...
- Python Json模块中dumps、loads、dump、load函数介绍哦
来自: https://www.jb51.net/article/139498.htm 1.json.dumps() json.dumps()用于将dict类型的数据转成str,因为如果直 ...
- 【Python】Json序列化和反序列化模块dumps、loads、dump、load函数介绍
1.json.dumps() json.dumps()用于将dict类型的数据转成str,因为如果直接将dict类型的数据写入json文件中会发生报错,因此在将数据写入时需要用到该函数. 转换案例: ...
随机推荐
- Springboot启动后报错【This application has no explicit mapping for /error, so you are seeing this as a fallback····】
This application has no explicit mapping for /error, so you are seeing this as a fallback. Wed Dec 1 ...
- 【ArcGIS】ArcGIS Enterprise部署
单机部署 多层部署 高可用性部署
- Ruby Tutorial
http://www.tutorialspoint.com/ruby/ruby_quick_guide.htm http://www.cnblogs.com/PurpleCow/archive/201 ...
- EF的学习
今天学习了ORM中的Entity FrearmeWork框架,其实之前看到orm框架,感觉好高大上啊,还没准备去了解它那,今天我们就学习了这个,其实Entity FrearmeWork框架和Nhibe ...
- Struts2(四)属性驱动和模型驱动
一.概述 所谓模型驱动,就是使用单独的JavaBean实例贯穿整个MVC流程,与之相对应的属性驱动方式,则使用属性作为贯穿MVC流程的信息携带者.属性无法独立存下,它必须依附于一个对象,这个对象就是A ...
- iptables 指令语法
iptables 指令 语法: iptables [-t table] command [match] [-j target/jump] -t 参数用来指定规则表,内建的规则表有三个,分别是:nat. ...
- css 去除页面双击事件
-ms-touch-action: manipulation !important;
- Material Design系列第八篇——Creating Lists and Cards
Creating Lists and Cards //创建列表和卡片 To create complex lists and cards with material design styles in ...
- android:listView Button 焦点问题
要想listView的item与其上的button皆能得到焦点响应: 在listView item 的布局中: 在<RelativeLayout>中 android:descendantF ...
- c实现的list
// clist.cpp : 定义控制台应用程序的入口点.// #include "stdafx.h"#include <stdio.h>#include <ma ...