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. 每天学点Linux命令之grep 和 wc命令

    Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expr ession Print,表示全局正则表 ...

  2. strcpy和memcpy,memmove函数的区别

    strcpy和memcpy的区别 strcpy和memcpy都是标准C库函数,它们有下面的特点. strcpy提供了字符串的复制.即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制 ...

  3. django crontab 定时任务

    分 时 日 月 周 命令(最好用绝对路径)比如: * * * * * rm -fr /mnt/* //每分钟执行一次对/mnt目录下文件的删除*/2 * * * * rm -fr /mnt/* //每 ...

  4. OL6.3 设置本地yum源

    仅在 Oracle Linux Server release 6.3 上测试 PS:Oracle Linux Server release 6.3仅用于测试,不能用于商业用途 [root@oracle ...

  5. java读取文件和写入文件的方式

    https://www.cnblogs.com/fnlingnzb-learner/p/6011324.html

  6. Greenplum5.16.0 安装教程

    Greenplum5.16.0 安装教程 一.环境说明 1.1官方网站 Greenplum官方安装说明:https://gpdb.docs.pivotal.io/5160/install_guide/ ...

  7. ORA-00600: internal error code, arguments: [13030], [20]一例解决

    两年没有接触oracle了,中午,一环境update from的时候出现ORA-00600: internal error code, arguments: [13030], [20]异常,经查,官网 ...

  8. windows下常用linux对应工具

    tail 可从http://files.cnblogs.com/hantianwei/tail.zip下载,解压后exe,如下: e:\>tail -fn 300 tool-slow.logus ...

  9. centos6.5新增加硬盘挂载并实现开机自动挂载

    在内网主机新增一个2T硬盘,先关机断电再连接硬盘数据线和电源线! 查看当前磁盘设备信息: [root@tb ~]# fdisk -l WARNING: GPT (GUID Partition Tabl ...

  10. left join加上where条件的困惑

    eft join的困惑:一旦加上where条件,则显示的结果等于inner join将where 换成 and 用where 是先连接然后再筛选   用and 是先筛选再连接 数据库在通过连接两张或多 ...