python:json相關: json.dumps() , json.loads() , json.dump() , json.load() 的解析
阿新 • • 發佈:2019-01-06
json.dumps(): python資料型別轉化為json字串
比如: 將字典,列表型別的資料轉換成json字串型別的資料
>>> import json
>>> mydict ={"name":"zhuyuping", "QQ":["1234324","sdafds"]}
>>> print(json.dumps(mydict))
{"name": "zhuyuping", "QQ": ["1234324", "sdafds"]}
>>> print(type(json.dumps(mydict)))
<class 'str'>
>>> mydict=[1,122,323,324]
>>> print(json.dumps(mydict))
[1, 122, 323, 324]
>>> print(type(json.dumps(mydict)))
<class 'str'>
json.loads(): json字串轉化為python資料型別
比如:將json字串型別的資料轉換成列表,字典型別資料
>>> import json
>>> mydict ='{" name":"zhuyuping", "QQ":"1234324"}'
>>> mydict ='{"name":"zhuyuping", "QQ":["1234324","sdafds"]}'
>>> print(json.loads(mydict))
{'name': 'zhuyuping', 'QQ': ['1234567', 'sdafds']}
>>> print(type(json.loads(mydict)))
<class 'dict'>
>>> mydict='[1,22,3,44]'
>>> print(json. loads(mydict))
[1,22,3,44]
>>> print(type(json.loads(mydict)))
<class 'list'>
json.load() : 包含json的類檔案物件轉化為python資料型別
json.dump(): python資料型別轉化為包含json的類檔案物件
舉例1
程式碼:
import json
listStr =[{"city":"nanjing"},{"name":"zhu"}]
json.dump(listStr,open("listStr.json","w"),ensure_ascii=False)
strList =json.load(open("listStr.json"))
print(strList)
print(type(strList))
執行:
[{'city': 'nanjing'}, {'name': 'zhu'}]
<class 'list'>
程式碼:
for data in strList:
print(data)
for key in data:
print(key,data[key])
執行:
{'city': 'nanjing'}
city nanjing
{'name': 'zhu'}
name zhu
舉例2
程式碼:
import json
dictStr ={"city":"nanjing","name":"ma"}
json.dump(dictStr,open("dictStr.json","w"),ensure_ascii=False)
strDict =json.load(open("dictStr.json"))
print(strDict)
print(type(strDict))
執行:
{'city': 'nanjing', 'name': 'ma'}
<class 'dict'>
程式碼:
for data in strDict:
print(data,strDict[data])
執行:
city nanjing
name ma
注: json檔案為防出現中文亂碼:ensure_ascii=False
什麼是類檔案物件?
具有read()或者write()方法的物件就是類檔案物件,
file =open(“listStr.json”,”w”)中 file 就是類檔案物件