1. 程式人生 > >python:json相關: json.dumps() , json.loads() , json.dump() , json.load() 的解析

python:json相關: json.dumps() , json.loads() , json.dump() , json.load() 的解析

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 就是類檔案物件