JSON的四個函數

JSON,即JavaScript Object Notation,是一種輕量級的數據交換格式。它基於ECMAScript的一個子集。python

json.dumps():將 Python對象轉換編碼成JSON字符串

dumps()函數語法以下:json

json.dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, encoding="utf-8", default=None, sort_keys=False, **kw)
  • skipkeys:默認值是False,若是dict的keys內的數據不是python的基本類型,設置爲False時,就會報TypeError的錯誤。此時設置成True,則會跳過這類key 。
  • ensure_ascii:爲True的時候,全部非ASCII碼字符顯示爲uXXXX序列,只需在dump時將ensure_ascii設置爲False便可,此時存入json的中文便可正常顯示。
  • check_circular:若是爲false,則將跳過容器類型的循環引用檢查,循環引用將致使溢出錯誤。
  • allow_nan:若是爲爲false,那麼嚴格按照JSON規範序列化超出範圍的浮點值將是一個valueerror,而不是使用JavaScript等效值。
  • indent:根據數據格式縮進顯示,讀起來更加清晰,indent的數值,表明縮進的位數。
  • separators:更改默認分隔符,美化輸出結果。
  • sort_keys:將數據根據keys的值進行排序。

實例:以下所示,將python對象轉爲json格式函數

import json

data = {
  "name": "Mark",
  "sex": "man",
  "age": 36
}
data_json = json.dumps(data)

print(data_json)

# {"name": "Mark", "sex": "man", "age": 36}

json.load():從文件中讀取json字符串

實例:以下所示,從test.json文件中讀取數據編碼

import json
f = open('test.json', 'r', encoding='utf-8')
print(json.load(f))

# {'name': 'Mark', 'sex': 'man', 'age': 36}

json.loads():用於解碼 JSON 數據,返回 Python 字段的數據類型

loads()函數語法以下:code

json.loads(s[, encoding[, cls[, object_hook[, parse_float[, parse_int[, parse_constant[, object_pairs_hook[, **kw]]]]]]]])

實例:以下所示,將JSON數據轉爲Python對象對象

import json
data = '{"name":"Mark", "sex":"man", "age":36}'
result = json.loads(data)
print(result)
# {'name': 'Mark', 'sex': 'man', 'age': 36}

print(result["name"])
# Mark

json.dump():將json格式字符串寫到文件中

實例:以下所示,將content數據寫入test.json文件中排序

import json
content = '{"name":"Tom", "sex":"man", "age":36}'
f = open('test.json', 'w', encoding='utf-8')
json.dump(content, f)
  • test.json文件內容以下所示:
"{\"name\":\"Tom\", \"sex\":\"man\", \"age\":36}"

Python 編碼爲 JSON 類型轉換對照表

Python JSON
dict Object
list Array
tuple Array
str String
int Number
float Number
True true
False false
None null

參考:https://www.9xkd.com/ip

相關文章
相關標籤/搜索