以下都是自己的一些學習筆記,可能有寫的不對的地方,還望各位大佬體諒和加以指正。
JSON 是用於存儲和交換數據的語法。
JSON 是用 JavaScript 對象表示法(JavaScript object notation)編寫的文本。
json 與 python中的字典類似
Python 中的 JSON
Python 有一個名為 json
的內置包,可用於處理 JSON 數據。
導入 json 模塊:
import json
解析 JSON - 把 JSON 轉換為 Python
若有 JSON 字符串,則可以使用 json.loads()在這裡插入代碼片
方法對其進行解析。
結果將是 Python 字典
。
把 JSON 轉換為 Python:
import json
# 一些 JSON:
x = '{ "name":"Bill", "age":63, "city":"Seatle"}'
# 解析 x:
y = json.loads(x) # 解析函數
# 結果是 Python 字典:
print(y["age"]) # 63
若有 Python 對象,則可以使用 json.dumps()
方法將其轉換為 JSON 字符串。
把 Python 轉換為 JSON:
import json
# Python 對象(字典):
x = {
"name": "Bill",
"age": 63,
"city": "Seatle"
}
# 轉換為 JSON:
y = json.dumps(x) # 轉換函數
# 結果是 JSON 字符串:
print(y)
我們可以把以下類型的 Python 對象轉換為 JSON 字符串:
將 Python 對象轉換為 JSON 字符串,並打印值:
import json
print(json.dumps({
"name": "Bill", "age": 63}))
print(json.dumps(["apple", "bananas"]))
print(json.dumps(("apple", "bananas")))
print(json.dumps("hello"))
print(json.dumps(42))
print(json.dumps(31.76))
print(json.dumps(True))
print(json.dumps(False))
print(json.dumps(None))
打印結果:
{
"name": "Bill", "age": 63}
["apple", "bananas"]
["apple", "bananas"]
"hello"
42
31.76
true
false
null
當 Python 轉換為 JSON 時,Python 對象會被轉換為 JSON(JavaScript)等效項:
Python JSON
dict Object
list Array
tuple Array
str String
int Number
float Number
True true
False false
None null
轉換包含所有合法數據類型的 Python 對象:
import json
x = {
"name": "Bill",
"age": 63,
"married": True,
"divorced": False,
"children": ("Jennifer","Rory","Phoebe"),
"pets": None,
"cars": [
{
"model": "Porsche", "mpg": 38.2},
{
"model": "BMW M5", "mpg": 26.9}
]
}
print(json.dumps(x))
上面的實例打印一個 JSON 字符串,但它不是很容易閱讀,沒有縮進和換行。json.dumps()
方法提供了令結果更易讀的參數:
使用 indent 參數定義縮進數:
json.dumps(x, indent=4)
我們還可以定義分隔符,默認值為(", ", ": "),這意味著使用逗號和空格分隔每個對象,使用冒號和空格將鍵與值分開:
使用 separators
參數來更改默認分隔符:
json.dumps(x, indent=4, separators=(". ", " = "))
json.dumps()
方法提供了對結果中的鍵進行排序的參數:
使用 sort_keys
參數來指定是否應對結果進行排序:
json.dumps(x, indent=4, sort_keys=True)
JSON 是後期實現與其他程序進行交互的一個重要手段,一定要會。
不需要會全部,但是一定要會JSON和python之間的轉換
JSON 轉換 python
json = '{ "name":"Bill", "age":63, "city":"Seatle"}'
result = json.loads(json)
python 轉換 JSON
dict = '{ "name":"Bill", "age":63, "city":"Seatle"}'
result = json.dumps(dict)
Telnet cant be implemented, th
Introduction Hello, tie Zhime