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. Hadoop学习笔记之三:DataNode

    DataNode对ClientDatanodeProtocol.InterDatanodeProtocol两个协议接口进行了实现,通过ipc::Server向Client.其它DN提供RPC服务(参见 ...

  2. 前端框架VUE----es6简单介绍

    1.ECMAScript 6 简介 ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了.它的目标,是使得 JavaScr ...

  3. 我是这样手写 Spring 的(麻雀虽小五脏俱全)

    人见人爱的 Spring 已然不仅仅只是一个框架了.如今,Spring 已然成为了一个生态.但深入了解 Spring 的却寥寥无几.这里,我带大家一起来看看,我是如何手写 Spring 的.我将结合对 ...

  4. maven war工程重命名

    1,按f2对项目进行改名 2,改变其web.xml 的项目名 3,org.eclipse.wst.common.component 改变其项目名

  5. 关于Eclipse新建Dynamic Web Projecj默认未创建web.xml的问题

    当使用eclipse新建Dynamic Web Projecj时,由于J2EE技术规范的更新,当使用Dynamic web module version默认版本为3.0时,将默认不会创建web.xml ...

  6. linux下can调试工具canutils安装过程记录

    https://www.cnblogs.com/chenfulin5/p/6797756.html 一.下载源码 下载canutils和libsocketcan libsocketcan地址:http ...

  7. 《web前端设计基础——HTML5、CSS3、JavaScript》 张树明版 简答题简单整理

    web前端设计基础——HTML5.CSS3.JavaScript 简答题整理 第一章 (1)解释一下名词的含义:IP地址.URL.域名   iP定义了如何连入因特网,以及数据如何在主机间传输的标准. ...

  8. es修改数据类型

    环境:es版本:6.5.0 es创建好了mapping后是不允许修改字段类型的,要是我们想修改字段类型怎么办呢,我们可以采用reindex的方法实现,就是创建一个新的mapping,里面的字段类型按照 ...

  9. 批量telnet端口通不通

    每读一行就运行一次telnet IP port #!/bin/bash port="22" cat *.txt | while read line do telnet ${line ...

  10. python ---16 初识面向对象

    面向对象 一 .面向对象和面向过程比较 ①面向过程:一切以事物的发展流程为核心    优点:负责的问题流程化,编写相对简单 缺点:可扩展性差 ②面向对象:一切以对象为中心. 一切皆为对象. 具体的某一 ...