Python json 拾遗

 1.json本质就是字符串

import json

# json编码后其实就是一个字符串
# json.loads() 将字典,列表,元组形式的字符串,转为字典,列表,元组
# json.dumps() 将字典,列表,元组,转换为字符串
# 在内存里面操作
stra = '{"name":"abc","age":18}'  #单引号在外,双引号在内,不然会出现错误 
strb = '["abc",123]'
dicta = json.loads(stra)
listb = json.loads(strb)
print(dicta,type(dicta)) # {'age': 18, 'name': 'abc'} <class 'dict'>
print(listb,type(listb)) # ['abc', 123] <class 'list'>
strc = json.dumps(dicta)
strd = json.dumps(listb)
print(strc,type(strc)) #{"name": "abc", "age": 18} <class 'str'>
print(strd,type(strd))# ["abc", 123] <class 'str'>

#json.dump() 做两件事,1.转为字符串,2.存入文件
#json.load() 1.读内容 2.转为字典

dica = {"name":"ab","age":18}  # 里面可以使用单引号,但是为了记忆方便,还是推荐内双外单
json.dump(dica,open('json_db','w'))
dicb =json.load(open('json_db','r'))
print(dicb,type(dicb))

 2.元组会转为列表

tupa  = (1,2,3,"aaa") # 元组  
stra  = json.dumps(tupa) # 在别的语言中[] 代表数组,{} 代表字典,别的语言不认识元组,所有,json 会转为大家都认识的
print(stra,type(stra)) # [1, 2, 3, "aaa"] <class 'str'>  转为list类型的字符串
listb = json.loads(stra)  # 将这个字符串转为 列表
print(listb,type(listb)) # [1, 2, 3, 'aaa'] <class 'list'>

 

posted @ 2017-04-27 10:22  1916  阅读(105)  评论(0)    收藏  举报