2019年5月6日 json 模块 vip &pickle

json.loads 能将不同语言转换成python对象 类似于eval 但是比其更强大。

pickle     python语言转换成python语言

  • json.dumps(): 对数据进行编码。
  • json.loads(): 对数据进行解码。

如果你要处理的是文件而不是字符串,你可以使用 json.dump() 和 json.load() 来编码和解码JSON数据。例如:

# 写入 JSON 数据
with open('data.json', 'w') as f:
    json.dump(data, f)
 
# 读取数据
with open('data.json', 'r') as f:
    data = json.load(f)

 

# dic="{'name':'sxj','age':'18'}"
# f=open('test2.txt','w')
# f.write(dic)  #如果与下面语句一起执行,则会将光标移动到内容最后一行
# f.close()
f_read=open('test2.txt','r')
data=f_read.read()
print(data)
print(type(data))
data=eval(data) #方法1:eval方法,但是无法传送函数,类


import json
dic={"name":"abc","age":11} #字符串只用双引号,如果有单引号也会转变成双引号
g=open('test.txt','w')
data2=json.dumps(dic) #方法2转换成json字符串,其他语言都认识,整形,列表,字典,数组等都会转变成json 字符串
g.write(data2)  #该行与上面的data2行,相当于 json.dump(dic,f)
g.close()

print(data2)
print(type(data2))#字符串类型
#
g=open('test.txt','r')
data4=json.loads(g.read()) #相当于data4 = json.load(g)
print(data4)
print(type(data4))#返回字典类型
print(data4['name'])

>>

{'name':'sxj','age':'18'}
<class 'str'>
{"name": "abc", "age": 11}
<class 'str'>
{'name': 'abc', 'age': 11}
<class 'dict'>
abc

 

posted @ 2019-05-08 21:40  小圣庄  阅读(99)  评论(0编辑  收藏  举报