「python」Json
Json
序列化(Serialization):將物件的狀態資訊轉換為可以儲存或可以通過網路傳輸的過程,傳輸的格式可以是JSON、XML等。我們把變數從記憶體中變成可儲存或傳輸的過程稱之為序列化
反序列化:從儲存區域(JSON,XML)讀取反序列化物件的狀態,重新建立該物件。變數內容從序列化的物件重新讀到記憶體裡稱之為反序列化
Json
json是什麼呢?
是一種輕量級的資料交換格式。
完全獨立於程式語言的文字格式來儲存和表示資料。
簡潔和清晰的層次結構使得 JSON 成為理想的資料交換語言。 易於人閱讀和編寫,易於機器解析和生成,並有效地提升網路傳輸效率。
常用有2個方法,也是最基本的使用方法:
1、dumps:把字典轉成json字串
2、loads:把json字串轉成字典
import json
test_dict = {`a`:1, `b`:2}
print(type(test_dict))
#把字典轉成json字串
json_text = json.dumps(test_dict)
print(json_text)
print(type(json_text))
#把json字串轉成字典
json_dict = json.loads(json_text)
print(json_dict)
print(type(json_dict))
輸出結果為:
<class `dict`>
{"a": 1, "b": 2}
<class `str`>
{`a`: 1, `b`: 2}
<class `dict`>
還有有2個方法讀寫json檔案的方法,與上述方法相比都少了s
1、dump:
2、load:
- 把字典轉成json字串,並儲存到檔案中
import json
import codecs
test_dict = {`a`:1, `b`:2}
#把字典轉成json字串
json_text = json.dumps(test_dict)
#把json字串儲存到檔案
#因為可能json有unicode編碼,最好用codecs儲存utf-8檔案
with codecs.open(`1.json`, `w`, `utf-8`) as f:
f.write(json_text)
- 從json檔案中讀取到字典中
import json
import codecs
#從檔案中讀取內容
with codecs.open(`1.json`, `r`, `utf-8`) as f:
json_text = f.read()
#把字串轉成字典
json_dict = json.loads(json_text)
上面程式碼,我們也可以用load和dump修改。
- dump把字典轉成json字串並寫入到檔案
import json
import codec
test_dict = {`a`:1, `b`:2} #把字典轉成json字串並寫入到檔案
with codecs.open(`1.json`, `w`, `utf-8`) as f:
json.dump(test_dict, f)
- load從json檔案讀取json字串到字典
#coding:utf-8
import json
import codecs
#從json檔案讀取json字串到字典
with codecs.open(`1.json`, `r`, `utf-8`) as f:
json_dict = json.load(f)
相關引數
- json.dumps 相關引數:
(1)sort_keys是告訴編碼器按照字典排序(a到z)輸出。
(2)indent引數根據資料格式縮排顯示,讀起來更加清晰
(3)separators引數的作用是去掉,,:後面的空格,從上面的輸出結果都能看到”, :”後面都有個空格,這都是為了美化輸出結果的作用,但是在我們傳輸資料的過程中,越精簡越好,冗餘的東西全部去掉,因
此就可以加上.
(4)skipkeys引數,在encoding過程中,dict物件的key只可以是string物件,如果是其他型別,那麼在編碼過程中就會丟擲ValueError的異常。skipkeys可以跳過那些非string物件當作key的處理.
(5)輸出真正的中文需要指定ensure_ascii=False
參考:廖雪峰python
相關文章
- Python JSON 教程PythonJSON
- JSON及Python操作JSON相關JSONPython
- Python處理JSONPythonJSON
- Python——JSON 模組PythonJSON
- Python JSON教學PythonJSON
- 【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 json格式轉url引數&分割, url引數轉json格式PythonJSON
- python 歷險記(四)— python 中常用的 json 操作PythonJSON
- 每週一個 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將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之資料序列化(json、pickle、shelve)PythonJSON
- Python3 解析複雜結構的 jsonPythonJSON
- python對json格式原檔案追加內容PythonJSON
- Python字典格式與JSON格式的相互轉換PythonJSON
- Python教程:json中load和loads的區別PythonJSON
- Python JSON 使用指南:解析和轉換資料PythonJSON
- python json.dumps中文亂碼問題解決PythonJSON