dumps和loads方法都在内存中转换,
dump和load的方法会多一个步骤,dump是把序列化后的字符串写到一个文件中,而load是从一个文件中读取字符串

将列表转为字符串

>>> a=[,,,,]
>>> import json
>>> json.dumps(a)
'[1, 2, 3, 4, 5]'
>>> type(json.dumps(a))
<class 'str'>
>>>

将字典转化为字符串

>>> b={"cc":,"vv":}
>>> json.dumps(b)
'{"cc": 12, "vv": 33}'
>>> type(json.dumps(b))
<class 'str'>

将字符串转为列表

>>> f=json.dumps(a)
>>> f
'[1, 2, 3, 4, 5]'
>>> json.loads(f)
[, , , , ]

将字符串转为字典

>>> k=json.dumps(b)
>>> k
'{"cc": 12, "vv": 33}'
>>> json.loads(k)
{'cc': , 'vv': }
>>>

字符串转字典

#coding=utf-
import requests
import json
#
ret = requests.get('http://wthrcdn.etouch.cn/weather_mini?city=北京')
ret.encoding = 'utf-8'
s1 = ret.text
print(s1,type(s1)) d1 = json.loads(s1)
print(d1,type(d1))

输出

{
"data": {
"yesterday": {
"date": "16日星期六",
"high": "高温 3℃",
"fx": "北风",
"low": "低温 -6℃",
"fl": "<![CDATA[3-4级]]>",
"type": "晴"
},
"city": "北京",
"forecast": [{
"date": "17日星期天",
"high": "高温 6℃",
"fengli": "<![CDATA[<3级]]>",
"low": "低温 -4℃",
"fengxiang": "北风",
"type": "晴"
}, {
"date": "18日星期一",
"high": "高温 4℃",
"fengli": "<![CDATA[<3级]]>",
"low": "低温 -3℃",
"fengxiang": "南风",
"type": "阴"
}, {
"date": "19日星期二",
"high": "高温 7℃",
"fengli": "<![CDATA[<3级]]>",
"low": "低温 -4℃",
"fengxiang": "西南风",
"type": "多云"
}, {
"date": "20日星期三",
"high": "高温 9℃",
"fengli": "<![CDATA[<3级]]>",
"low": "低温 -4℃",
"fengxiang": "北风",
"type": "晴"
}, {
"date": "21日星期四",
"high": "高温 11℃",
"fengli": "<![CDATA[<3级]]>",
"low": "低温 -3℃",
"fengxiang": "西南风",
"type": "晴"
}],
"ganmao": "各项气象条件适宜,无明显降温过程,发生感冒机率较低。",
"wendu": "-2"
},
"status": ,
"desc": "OK"
} < class 'str' > {
'data': {
'yesterday': {
'date': '16日星期六',
'high': '高温 3℃',
'fx': '北风',
'low': '低温 -6℃',
'fl': '<![CDATA[3-4级]]>',
'type': '晴'
},
'city': '北京',
'forecast': [{
'date': '17日星期天',
'high': '高温 6℃',
'fengli': '<![CDATA[<3级]]>',
'low': '低温 -4℃',
'fengxiang': '北风',
'type': '晴'
}, {
'date': '18日星期一',
'high': '高温 4℃',
'fengli': '<![CDATA[<3级]]>',
'low': '低温 -3℃',
'fengxiang': '南风',
'type': '阴'
}, {
'date': '19日星期二',
'high': '高温 7℃',
'fengli': '<![CDATA[<3级]]>',
'low': '低温 -4℃',
'fengxiang': '西南风',
'type': '多云'
}, {
'date': '20日星期三',
'high': '高温 9℃',
'fengli': '<![CDATA[<3级]]>',
'low': '低温 -4℃',
'fengxiang': '北风',
'type': '晴'
}, {
'date': '21日星期四',
'high': '高温 11℃',
'fengli': '<![CDATA[<3级]]>',
'low': '低温 -3℃',
'fengxiang': '西南风',
'type': '晴'
}],
'ganmao': '各项气象条件适宜,无明显降温过程,发生感冒机率较低。',
'wendu': '-2'
},
'status': ,
'desc': 'OK'
} < class 'dict' >

将字典存入文件中,再从文件读取出来

#coding=utf-
import json
d1 = {'name':'foot'} '''
第一种写法
json.dump(d1,open('db','w'))
d1 = json.load(open('db','r'))
print(d1,type(d1))
''' #第二种写法
with open("db","w") as f:
json.dump(d1,f) with open("db","r") as f:
print(json.load(f))

参考:

http://www.cnblogs.com/bainianminguo/p/6676067.html

python的json模块的dumps,loads,dump,load方法介绍的更多相关文章

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

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

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

    dumps是将dict转化成json字符串格式,loads是将json字符串转化成dict格式. dump和load也是类似的功能,只是与文件操作结合起来了. dump(写入内容,文件对象) 和loa ...

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

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

  4. 爬虫 Http请求,urllib2获取数据,第三方库requests获取数据,BeautifulSoup处理数据,使用Chrome浏览器开发者工具显示检查网页源代码,json模块的dumps,loads,dump,load方法介绍

    爬虫 Http请求,urllib2获取数据,第三方库requests获取数据,BeautifulSoup处理数据,使用Chrome浏览器开发者工具显示检查网页源代码,json模块的dumps,load ...

  5. 解决python中json模块loads出来的结构都是unicode的问题

    在使用python的json模块对json字串反序列化成python对象的时候出现的字符串都是unicode类型,而不是python内置的str类型.在某种使用场景下用户必须做显式的转换才能正常使用, ...

  6. 【转】在Python的struct模块中进行数据格式转换的方法

    这篇文章主要介绍了在Python的struct模块中进行数据格式转换的方法,文中还给出了C语言和Python语言的数据类型比较,需要的朋友可以参考下 Python是一门非常简洁的语言,对于数据类型的表 ...

  7. SVN备份及其还原 — dump/load方法

    本文中采用最简单的dump/load方法.备份:一个较大的Subsersion版本库想用最少的空间来将它备份下来,用这个命令(请将/repo替换成你的版本库路径)svnadmin dump --del ...

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

    1.json.dumps() json.dumps()用于将dict类型的数据转成str,因为如果直接将dict类型的数据写入json文件中会发生报错,因此在将数据写入时需要用到该函数. import ...

  9. Python Json模块中dumps、loads、dump、load函数介绍哦

    来自: https://www.jb51.net/article/139498.htm 1.json.dumps()       json.dumps()用于将dict类型的数据转成str,因为如果直 ...

随机推荐

  1. <转>jmeter(一)基础介绍

    本博客转载自:http://www.cnblogs.com/imyalost/category/846346.html 个人感觉不错,对jmeter讲解非常详细,担心以后找不到了,所以转发出来,留着慢 ...

  2. Java的字段初始化规律

    package 代码测试; public class InitializeBlockClass { {field=200;} public int field=100; public Initiali ...

  3. 清明 DAY 1

    数学基础   Part 1.  高精度计算     Part 2.  模意义下的运算                     mod  对一个数取模,其实就是取余数   注意: •   无除法运算 • ...

  4. Django项目----快速实现增删改查组件(起步阶段!!!)

    一.相关知识点回顾 1.什么是反射?   可以用字符串的方式去访问对象的属性 2.反射有四种方法? hasattr(object,name):判断一个对象是不是有name属性或者方法 getattr: ...

  5. 分享30道Redis面试题,面试官能问到的我都找到了

    1.什么是Redis?简述它的优缺点? Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到 ...

  6. Django的View

    一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应. 响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. ...

  7. fjwc2019 D2T3 排序(堆)

    #183. 「2019冬令营提高组」排序 贴一段ppt 考虑模拟出这个算法进行k轮(即外层的i循环到k)时的序列,之后再暴力模拟零散的步. 考虑这个算法在01序列上的表现,k轮后实际上就是将最开始的不 ...

  8. 点击button后刷新了页面

    今天遇到一个特别奇怪的事,在页面中使用button标签,添加了点击事件onclic,点击的时候倒是执行了绑定的方法,但页面被刷新了! 什么鬼?我没与提交表单啊! 原来,button默认具有提交表单的动 ...

  9. Spring Boot(十八):使用Spring Boot集成FastDFS

    Spring Boot(十八):使用Spring Boot集成FastDFS 环境:Spring Boot最新版本1.5.9.jdk使用1.8.tomcat8.0 功能:使用Spring Boot将文 ...

  10. JS实现对数器

    对数器的概念和使用 对数器一般用于验证你写的算法是否正确,因为自己写的测试用例可能写的考虑不够全面. 0.有一个你想测试的方法a 1.实现一个绝对正确但是时间复杂度不好的方法b 2.实现一个随机样本产 ...