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. 小纪a

    感觉挺好的两段代码:虽然已经存在,但是这是我自己敲出来的,没有照抄,真心话,所以记录下来. 1.菱形代码: #include <stdio.h>void main() { int i, j ...

  3. 虚拟继承C++

    C++中虚拟继承的概念 为了解决从不同途径继承来的同名的数据成员在内存中有不同的拷贝造成数据不一致问题,将共同基类设置为虚基类.这时从不同的路径继承过来的同名数据成员在内存中就只有一个拷贝,同一个函数 ...

  4. hiho一下 第144周

    题目1 : 机会渺茫 时间限制:5000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi最近在追求一名学数学的女生小Z.小Z其实是想拒绝他的,但是找不到好的说辞,于是提出了这样的要求: ...

  5. ltp-fcntl36 偶尔出现fail unexpected data offset 20928 value 94

    每次出错的都是和posix相关先把结论说了: fn_ofd_w和fn_ofd_r的SAFE_FCNTL参数F_OFD_SETLKW fn_posix_w和fn_posix_r的SAFE_FCNTL参数 ...

  6. 静态代码检查findbugs/阿里巴巴开发规范

    findbugs,基本上三类严重的bug检测出来都是比较准确的,如下: 阿里巴巴开发规范 前面两类都是比较重要的: 参考: https://blog.csdn.net/qq_27093465/arti ...

  7. day5-json和pickle序列化

    一.json模块 序列化:把一个对象的形态改变一下,使他能够存放在文件中,或者在网络上传输,序列化也叫持久化,是把对象存储到永久介质中,这样就不会因为掉电而丢失. JSON (JavaScript O ...

  8. mysql 用存储过程插入11位 随机数

    BEGIN #Routine body goes here... ; ); ); ); ); ); ); ); ); ); ); ); ); ) DEFAULT ''; ); ); WHILE row ...

  9. Codeforces Round #479 (Div. 3)题解

    CF首次推出div3给我这种辣鸡做,当然得写份博客纪念下 A. Wrong Subtraction time limit per test 1 second memory limit per test ...

  10. Codeforces Round #427 (Div. 2) Problem D Palindromic characteristics (Codeforces 835D) - 记忆化搜索

    Palindromic characteristics of string s with length |s| is a sequence of |s| integers, where k-th nu ...