Json中dumps、loads、dump、load函数实例讲解

1.dumps()

  1. json.dumps()

  用于将字典(dic)类型的数据转成字符串(str),直接将dict类型的数据写入json文件中会发生报错,因此在将数据写入时需要用到该函数。

import json

name = {‘aa‘:‘1111‘,‘bb‘:‘2222‘,‘cc‘:‘3333‘,‘dc‘:‘4444‘} 

jsObj = json.dumps(name)    

print(name)
print(jsObj)

print(type(name))
print(type(jsObj))

  运行后结果如下;

{‘aa‘: ‘1111‘, ‘cc‘: ‘3333‘, ‘bb‘: ‘2222‘, ‘dd‘: ‘4444‘}
{"aa": "1111", "cc": "3333", "bb": "2222", "dd": "4444"}
<type ‘dict‘>
<type ‘str‘>

写入JSON文件后执行时会发生错误:

import json  

name = {‘aa‘:‘1111‘,‘bb‘:‘2222‘,‘cc‘:‘3333‘,‘dd‘:‘4444‘}  

emb_filename = (‘/home/cqh/faceData/emb_json.json‘)  

# jsObj = json.dumps(name_emb)    //未进行函数转化时

with open(emb_filename, "w") as f:
    f.write(name)
    f.close()  
未进行函数转化时,系统报错,当加入该函数的时候系统运行正常。

2.json.loads()

json.loads()用于将str类型的数据转成dict。

import json

nameb = {‘aa‘:‘1111‘,‘bb‘:‘2222‘,‘cc‘:‘3333‘,‘d‘:‘4444‘} 

jsDumps = json.dumps(name)    

jsLoads = json.loads(jsDumps) 

print(name)
print(jsDumps)
print(jsLoads)

print(type(name))
print(type(jsDumps))
print(type(jsLoads))     

运行结果:

{‘aa‘: ‘1111‘, ‘cc‘: ‘3333‘, ‘bb‘: ‘2222‘, ‘dd‘: ‘4444‘}
{"aa": "1111", "cc": "3333", "bb": "2222", "dd": "4444"}
{u‘aa‘: u‘1111‘, u‘cc‘: u‘3333‘, u‘bb‘: u‘2222‘, u‘dd‘: 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文件中读取数据。

 1 import json
 2
 3 emb_filename = (‘/home/cqh/faceData/emb_json.json‘)
 4
 5 jsObj = json.load(open(emb_filename))
 6
 7 print(jsObj)
 8 print(type(jsObj))
 9
10 for key in jsObj.keys():
11     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

原文地址:https://www.cnblogs.com/506941763lcj/p/9589943.html

时间: 2024-10-28 23:44:41

Json中dumps、loads、dump、load函数实例讲解的相关文章

java中volatile不能保证线程安全(实例讲解)

java中volatile不能保证线程安全(实例讲解) 转载  2017-09-04   作者:Think-007    我要评论 下面小编就为大家带来一篇java中volatile不能保证线程安全(实例讲解).小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧 今天打了打代码研究了一下java的volatile关键字到底能不能保证线程安全,经过实践,volatile是不能保证线程安全的,它只是保证了数据的可见性,不会再缓存,每个线程都是从主存中读到的数据,而不是从缓存

json模块中dumps()与dump()区别

dumps是将dict转化成json字符串格式,loads是将json字符串转化成dict格式. dump和load也是类似的功能,只是与文件操作结合起来了. dump(写入内容,文件对象) 和load(文件对象) 代码实现: def write_file(): like_num = input('请输入您喜欢的数字:') with open('C:\\Users\\Administrator\\Desktop\\data.json','w') as fw: json.dump(like_num

Python json模块dumps loads

python中json数据的使用. dumps和loads也是需要成对使用的,就像c++ new/delete malloc/free一样需要成对使用. 看着像json的字符串,也不一定是json字符串.哈哈. 具体看例子吧. 1 #coding=utf-8 2 3 import json 4 5 data = {"name":"张三", "age":18, "friend":["王麻子", "李

在Nginx中做负载均衡配置的实例讲解

负载均衡是我们大流量网站要做的一个东西,下面我来给大家介绍在Nginx服务器上进行负载均衡配置方法. 先来简单了解一下什么是负载均衡,单从字面上的意思来理解就可以解释N台服务器平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况.那么负载均衡的前提就是要有多台服务器才能实现,也就是两台以上即可. 由于没有服务器,所以本次测试直接host指定域名,然后在VMware里安装了三台CentOS. 测试域名  :a.com A服务器IP :192.168.5.149 (主) B服务器IP :

php localeconv() 函数实例讲解

php localeconv() 函数返回一包含本地数字及货币格式信息的数组.本文章向码农介绍php localeconv() 函数的使用方法和基本实例.需要的码农可以参考一下. 定义和用法 localeconv() 函数返回一包含本地数字及货币格式信息的数组. localeconv()函数会返回以下数组元素: [decimal_point] - 小数点字符 [thousands_sep] - 千位分隔符 [int_curr_symbol] - 货币符号 (例如:USD) [currency_s

Java中的mutable和immutable对象实例讲解

1.mutable(可变)和immutable(不可变)类型的区别 可变类型的对象:提供了可以改变其内部数据值的操作,其内部的值可以被重新更改. 不可变数据类型:其内部的操作不会改变内部的值,一旦试图更改其内部值,将会构造一个新的对象而非对原来的值进行更改. 2.mutable和immutable类型的优缺点   mutable immutable 优点 可变类型会减少数据的拷贝次数,从而其效率 要高于immutable 由于内部数据不可变,所以对其频发修改会产生大量的临时拷贝,浪费空间 缺点

&lt;JS中的数学计算&gt;之简单实例讲解

1.取余数   % var a=10%3; //a=1 2.取绝对值  Math.abs() var a=Math.abs(-102.1); var b=Math.abs(102.1); //a=102.1;b=102.1 3.截取小数点后长度并进行四舍五入 toFixed() var num_1 = new Number(13.53); alert(num_1.toFixed(1)); alert(num_1.toFixed(0)); //13.5 //14 var num_2 = new N

python-序列化与反序列化(loads、load、dumps、dump)

序列化模块# 序列化方法# 格式转换# 把python中的数据转换成str---序列化# 可以str转换成python的数据---反序列化 json模块 # json所有的语言都通用,它能序列化的数据是有限的:字典列表和元组import json# json.dumps()与json.loads()是一对# json.dump()与json.load()是一对# json.dumps()#序列号 “obj” 数据类型 转换为 JSON格式的字符串# ret = json.dumps({'k':(

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

Json模块dumps.loads.dump.load函数介绍 1.json.dumps() json.dumps() 用于将dict类型的数据转成str,因为如果直接将dict类型的数据写入json文件中会发生报错,因此在将数据写入时需要用到该函数. 2.json.dump() json.dump()用于将dict类型的数据转成str,并写入到json文件中.下面两种方法都可以将数据写入json文件 import json name_emb = {'a':'1111','b':'2222','