Python中dumps, loads dump, load用法詳解
json 模組提供了一種很簡單的方式來編碼和解碼JSON資料。 其中兩個主要的函式是 json.dumps() 和 json.loads()
json.dumps()將一個Python資料結構轉換為json
import json
data = {
'name' : 'ACME',
'shares' : 100,
'price' : 542.23
}
json_str = json.dumps(data)
json.loads()將一個JSON編碼的字串轉換回一個Python資料結構
data = json.loads(json_str)
json.dump()將資料寫成json檔案
# Writing JSON data
with open('data.json', 'w') as f:
json.dump(data, f)
json.load()讀取json格式檔案
# Reading data back
with open('data.json', 'r') as f:
data = json.load(f)
對比
#json.load()是用來讀取檔案的,即,將檔案開啟然後就可以直接讀取。
with open("檔名") as f:
print(type(f)) # <class '_io.TextIOWrapper'> 也就是文字IO型別
result=json.load(f)
#json.loads()是用來讀取字串的,即,可以把檔案開啟,用readline()讀取一行,然後json.loads()一行
with open("檔名") as f:
line=f.readline():
print(type(line)) # <class 'str'>
result=json.loads(line)
實戰
def load_json(path):
lines = [] # 第一步:定義一個列表, 開啟檔案
with open(path) as f:
for row in f.readlines(): # 第二步:讀取檔案內容
if row.strip().startswith("//"): # 第三步:對每一行進行過濾
continue
lines.append(row) # 第四步:將過濾後的行新增到列表中.
return json.loads("\n".join(lines)) #將列表中的每個字串用某一個符號拼接為一整個字串,用json.loads()函
相關文章
- Python教程:json中load和loads的區別PythonJSON
- load和loads的區別
- python中json.dump() 和 json.dumps() 有那些區別?PythonJSON
- Python中enumerate函式用法詳解Python函式
- Python self用法詳解Python
- Python3中strip()、lstrip()、rstrip()用法詳解Python
- 詳解Python中yield生成器的用法Python
- oracle dump詳解Oracle
- STL中set用法詳解
- STL中map用法詳解
- Python3中*和**運算子的用法詳解!Python
- 模型的dump與load模型
- Python中struct.pack()和struct.unpack()用法詳解PythonStruct
- Python基礎 - yield 用法詳解Python
- java中printf中用法詳解Java
- Java中jar命令用法詳解JavaJAR
- oracle資料塊dump檔案中ITL詳解Oracle
- python中yield的用法詳解——最簡單,最清晰的解釋Python
- 轉 ------ sql load 詳解SQL
- 使用python來操作redis用法詳解PythonRedis
- MySQL中BETWEEN子句的用法詳解MySql
- 詳解MySQL中WHERE子句的用法MySql
- Java 中 this 和 super 的用法詳解Java
- ES6中Promise用法詳解Promise
- C++ 中 this 指標的用法詳解C++指標
- PHP中return用法詳細解讀PHP
- php中mysql操作buffer用法詳解PHPMySql
- Android中的ANR用法詳解Android
- Android中Context用法詳解AndroidContext
- insert 中append 用法詳解APP
- php中var_dump()函式的詳解說明PHP函式
- Python3 中 configparser 模組解析配置的用法詳解Python
- AngularJS select中ngOptions用法詳解AngularJSGo
- 轉:SVN中trunk,branches,tags用法詳解
- 詳解Vue中watch的高階用法Vue
- oracle中的exists 和not exists 用法詳解Oracle
- 詳解Python中open()函式指定檔案開啟方式的用法Python函式
- extern用法詳解