Python JSON 教程
Python JSON 教程
本文我們透過示例學習python中解析、讀取和寫入json。同時也涉及到轉換json至字典和格式化列印。
1. json 介紹
JSON (JavaScript Object Notation) 是很常用的表示資料結構規範,web應用中常作伺服器間傳輸和接收的資料格式。
Python中JSON可以用字串表示,示例:
p = '{"name": "Bob", "languages": ["Python", "Java"]}'
也可以在檔案中儲存JSON物件。
匯入json模組
要處理JSON (字串或包含json物件的檔案), 需要使用Python 的 json 模組,因此使用前需要先匯入該模組:
import json
2. 解析json
python使用json模組使得解析json字串或包含json物件的檔案非常容易。
2.1 解析json至字典
可以使用 json.loads() 方法解析json,其返回字典型別。
import json
person = '{"name": "Bob", "languages": ["English", "Fench"]}'
person_dict = json.loads(person)
# Output: {'name': 'Bob', 'languages': ['English', 'Fench']}
print(person_dict)
# Output: ['English', 'French']
print(person_dict['languages'])
這裡person是字串型別,而person_dict是字典型別。
2.2 解析json檔案
也可以使用json.load()方法讀json檔案。假設person.json檔案包含json物件:
{"name": "Bob",
"languages": ["English", "Fench"]
}
下面程式碼解析該檔案:
import json
with open('path_to_file/person.json') as f:
data = json.load(f)
# Output: {'name': 'Bob', 'languages': ['English', 'Fench']}
print(data)
這裡使用open函式讀取json檔案。然後使用json.load()方法解析檔案,並返回data字典型別。
使用with開啟檔案,則無需手動關閉檔案。
3. 生成json字串
可以透過json.dumps()方法轉換字典型別為json字串。
import json
person_dict = {'name': 'Bob',
'age': 12,
'children': None
}
person_json = json.dumps(person_dict)
# Output: {"name": "Bob", "age": 12, "children": null}
print(person_json)
下表顯示python物件和其對應json物件。
Python JSON Equivalent
dict object
list, tuple array
str string
int, float, int number
True true
False false
None null
4. 寫json檔案
使用json.dump()方法寫json至檔案。
import json
person_dict = {"name": "Bob",
"languages": ["English", "Fench"],
"married": True,
"age": 32
} 無錫看婦科的醫院
with open('person.txt', 'w') as json_file:
json.dump(person_dict, json_file)
上面程式中以寫模式開啟person.txt檔案,如果檔案不存在會自動建立檔案。然後json.dump()方法轉換person_dict字典至json字串並儲存至person.txt檔案中。
執行程式會建立person.txt檔案,檔案內容如下:
{"name": "Bob", "languages": ["English", "Fench"], "married": true, "age": 32}
5. 格式化列印json
為了分析和除錯json資料,有時需要以可讀方式列印json,只需要給json.dumps()方法。請看示例:
import json
person_string = '{"name": "Bob", "languages": "English", "numbers": [2, 1.6, null]}'
# Getting dictionary
person_dict = json.loads(person_string)
# Pretty Printing JSON string back
print(json.dumps(person_dict, indent = 4, sort_keys=True))
執行程式輸出結果如下:
{
"languages": "English",
"name": "Bob",
"numbers": [
2,
1.6,
null
]
}
上面程式我們使用4個空格作為縮排並對key進行排序。預設情況下indent為None,sort_keys為False。
另外dump方法一般用於一般用於寫檔案裝置流,dumps方法生成字串。
6. 總結
本文介紹了python中如何處理json,包括解析、寫檔案及格式化。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69945560/viewspace-2654576/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Python教程:json中load和loads的區別PythonJSON
- 「python」JsonPythonJSON
- JSON及Python操作JSON相關JSONPython
- Python處理JSONPythonJSON
- Python——JSON 模組PythonJSON
- Python JSON教學PythonJSON
- JSON Web Token 入門教程JSONWeb
- 【JSON】Python與Flask中涉及到的JSONJSONPythonFlask
- Python模組之jsonPythonJSON
- Python中解析json資料PythonJSON
- Python .get 巢狀 JSON 值Python巢狀JSON
- JSON在Python中的使用JSONPython
- python 儲存檔案jsonPythonJSON
- 將json資料轉換為Python字典將json資料轉換為Python字典JSONPython
- python 從TXT中解析json格式PythonJSON
- python比較json/dictionary的庫PythonJSON
- python---json檔案寫入PythonJSON
- Excel轉Json升級版-PythonExcelJSONPython
- Python 教程Python
- python json格式轉url引數&分割, url引數轉json格式PythonJSON
- python 歷險記(四)— python 中常用的 json 操作PythonJSON
- json-server 快速搭建介面服務 使用教程JSONServer
- 每週一個 Python 模組 | jsonPythonJSON
- 【python】str與json型別轉換PythonJSON型別
- Python中字典和json的區別!PythonJSON
- python讀取json格式的標註PythonJSON
- json的使用(python寫,c++讀)JSONPythonC++
- 14-python爬蟲之JSON操作Python爬蟲JSON
- Python 關於JSON模組介紹PythonJSON
- python json反序列化為物件PythonJSON物件
- Python快速教程Python
- Python將xml格式轉換為json格式PythonXMLJSON
- jsonlint:python的json資料驗證庫JSONPython
- 25.python模組(加密,os,re,json)Python加密JSON
- python基礎day-15:time、hash、jsonPythonJSON
- python 序列化pickle&json模組PythonJSON
- python基礎教程|菜鳥教程Python
- python教程(零)·前言Python