码迷,mamicode.com
首页 > 编程语言 > 详细

Python基础-----json模块

时间:2018-10-04 11:39:27      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:json   模块   ===   lse   ==   返回   要求   单引号   hello   

#!/usr/bin/env python
#-*- coding:utf-8 -*-

import json

‘‘‘
我们把对象(变量)从内存中变成可存储或传输的过程称之为[序列化],在Python中叫pickling,
在其他语言中也被称之为serialization,marshalling,flattening等等,都是一个意思。

序列化之后,就可以把序列化后的内容写入磁盘,或者通过网络传输到别的机器上。
反过来,把变量内容从序列化的对象重新读到内存里称之为反序列化,即unpickling。
‘‘‘

‘‘‘
1 json.dumps(变量名)
用于将传入的变量表示的数据类型都变为字符串类型
并且回将字符串内的‘‘变为""。
‘‘‘

dic = {‘name‘:‘alex‘}
dic_str = json.dumps(dic) #----> ‘{"name":"alex"}‘

num = 8
num_str = json.dumps(num) #----> ‘8‘

st = ‘hello‘
st_str = json.dumps(st) #----> ‘"hello"‘

li = [11,22]
li_str = json.dumps(li) #----> ‘[11,22]‘

###################################################################################

‘‘‘
2 json.loads(变量名)
用于将传入的变量表示的字符串类型都转换为原类型
并且返回原样。
‘‘‘

# dic = json.loads(dic_str) #----> {‘name‘:‘alex‘}


‘‘‘
json 和 python数据对应
import json
x="[null,true,false,1]"
print(json.loads(x)) #-----> [None, True, False, 1]
‘‘‘

###################################################################################
‘‘‘用于文件操作‘‘‘
‘‘‘
3 json.dump(变量名,文件名)
用于将传入的变量表示的数据类型都变为字符串类型
并且回将字符串内的‘‘变为"",并写入到指定的文件中,
无需执行文件的write()方法。
‘‘‘
with open(‘test‘,‘w‘) as f:
json.dump(dic,f) #----> 等同于dic_str = json.dumps(dic) f.write(dic_str)

###################################################################################

‘‘‘
4 json.load(文件名)
用于直接将文件中字符串类型都转换为原类型,并读取出来,
无需执行文件的read()方法。
‘‘‘
with open(‘test‘,‘r‘) as f:
json_read = json.load(f) #----> 等同于dic_str = json.dumps(dic) f.write(dic_str)
print(json_read)


#==================================================================================#
‘‘‘
注意json.dumps()和json.loads()不一定非要一起才能使用
如果文件中的字符串类型,满足json要求,则可以直接使用
json.loads()将文件读取出来
import json
#dct="{‘1‘:111}"#json 不认单引号
#dct=str({"1":111})#报错,因为生成的数据还是单引号:{‘one‘: 1}

dct=‘{"1":"111"}‘
print(json.loads(dct))

#conclusion:
# 无论数据是怎样创建的,只要满足json格式,就可以json.loads出来,不一定非要dumps的数据才能loads
‘‘‘

Python基础-----json模块

标签:json   模块   ===   lse   ==   返回   要求   单引号   hello   

原文地址:https://www.cnblogs.com/Meanwey/p/9741316.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!