10天過去了呢!但是還有20天
鐵人賽發文篇數已經來到第二頁了!!!
今天來介紹一下 Python 如何處理 JSON 格式啦。
網路上很多資料的傳輸格式都是使用json
所以對於json資料處理就很重要啦!
JSON(JavaScript Object Notation)輕量級的資料交換語言,容易閱讀的文字為主,用來傳輸由屬性值或者序列性的值組成的資料物件。
[ ]
範例:
[0,5,6,2,7,8,4]
{ }
key-value
的方式儲存範例:
{
"id": 123,
"Name": "wsrsw",
"Email": "wsrsw@example.com",
"contents": [
{
"subject":"Math",
"score":80
},
{
"subject":"English",
"score":90
}
]
}
json是現有REST API的主流形式。json的編碼和解碼在python 中可以透過json套件完成。
json與python資料類型轉換關係表:
Python | JSON |
---|---|
dict | object |
list, tuple | array |
str, unicode | string |
int, long, float | number |
True | true |
False | false |
None | null |
python json字串轉成python物件
需要使用json模塊的loads()
import json
str1 = '{"id": 123, "Name": "wsrsw", "Email": "wsrsw@example.com"}'
j = json.loads(str1)
print(j)
print(type(j))
結果:
{'id': 123, 'Name': 'wsrsw', 'Email': 'wsrsw@example.com'}
<class 'dict'>
python物件轉json字串
需要使用json模塊的dumps()
import json
j = {'id': 123, 'Name': 'wsrsw', 'Email': 'wsrsw@example.com'}
str1 = json.dumps(j)
print(str1)
print(type(str1))
結果:
{"id": 123, "Name": "wsrsw", "Email": "wsrsw@example.com"}
<class 'str'>
可以使用indent
=> 可以使得數據存儲的格式容易解讀。
import json
#字典
python_dict = {"id":[1,2,3], "name": ["Tim", "Bob", "Lucy"]}
print(python_dict, type(python_dict))
#轉成json字串
j = json.dumps(python_dict, indent = 4)
print(j, type(j))
結果:
{'id': [1, 2, 3], 'name': ['Tim', 'Bob', 'Lucy']} <class 'dict'>
{
"id": [
1,
2,
3
],
"name": [
"Tim",
"Bob",
"Lucy"
]
} <class 'str'>
json.dumps()
將python物件轉成json字串,返回type為str
從python物件轉換為json字串
json.loads()
將json字串,返回python物件,返回type為dict
從json字串轉換為python物件
王者歸來:精通物聯網及Python / 作者: 劉凱