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