Python 作為編程語言的多函數性延伸到其豐富的數據結構,包括元組和 JSON。 JSON 是 JavaScript Object Notation 的縮寫,是一種用於表示結構化數據的輕量級數據格式。此外,它是一種用於存儲和交換數據的語法。在本文中,我們將了解如何編寫元組JSON在Python中。
在 Python 中將元組轉換為 JSON
以下是一些我們可以轉換的方法元組到 JSON 中Python:
使用json.dumps()方法
在此示例中,`json.dumps()` 函數用於將名為 `physics_tuple` 的元組轉換為 JSON 格式的字符串 (`json_data`)。然後顯示生成的 JSON 字符串及其數據類型,展示元組到 JSON 表示的序列化。
Python3
import json
physics_tuple = ('Class 9', 'Physics', 'Laws of Motion', 'Introduction', 'Newton First Law')
# Convert tuple to JSON
json_data = json.dumps(physics_tuple)
# Display the result
print(type(json_data))
print(json_data)
<class 'str'> ["Class 9", "Physics", "Laws of Motion", "Introduction", "Newton First Law"]
製作自定義編碼器函數
在這個例子中,一個自定義 JSON 編碼器定義名為“custom_encoder”的函數來處理元組的序列化。該函數將元組轉換為字典使用特殊鍵“__tuple__”和項目列表進行格式化。然後,使用 `default` 參數將這個自定義編碼器與“json.dumps”函數一起使用。表示序列化元組的結果 JSON 字符串與其數據類型一起顯示。
Python3
import json
physics_tuple = ('Class 9', 'Physics', 'Laws of Motion', 'Introduction', 'Newton First Law')
def custom_encoder(obj):
if isinstance(obj, tuple):
return {'__tuple__': True, 'items': list(obj)}
return obj
json_data = json.dumps(physics_tuple, default=custom_encoder)
print(type(json_data))
print(json_data)
<class 'str'> ["Class 9", "Physics", "Laws of Motion", "Introduction", "Newton First Law"]
使用 Pandas
在此示例中,名為“physics_tuple”的元組被轉換為 Pandas DataFrame (`df`) 具有特定的列名稱。元組的第四個元素是一個列表,它作為名為“Subtopics”的列包含在 DataFrame 中。然後將“to_json”方法應用於DataFrame具有指定的方向 (‘records’),生成 JSON 格式的字符串 (`json_data`),以適合字典列表的 record-oriented 格式表示數據。
Python3
import json
import pandas as pd
physics_tuple = ('Class 9', 'Physics', 'Laws of Motion',
['Introduction', 'Newton First Law'])
df = pd.DataFrame([physics_tuple], columns=[
'Class', 'Subject', 'Topic', 'Subtopics'])
json_data = df.to_json(orient='records')
print(type(json_data))
print(json_data)
輸出:
<class 'str'>
[{"Class":"Class 9","Subject":"Physics","Topic":"Laws of Motion","Subtopics":["Introduction","Newton First Law"]}]
自定義元組序列化
在此示例中,定義了一個名為`serialize`的自定義序列化函數來處理元組的序列化。該函數將元組轉換為字典格式,其中鍵‘tuple_items’包含項目列表。然後,使用 `default` 參數將此自定義序列化函數與“json.dumps()”函數一起使用。表示序列化元組的結果 JSON 字符串與其數據類型一起顯示。
Python3
import json
physics_tuple = ('Class 9', 'Physics', 'Laws of Motion', 'Introduction', 'Newton First Law')
def serialize(obj):
if isinstance(obj, tuple):
return {'tuple_items': list(obj)}
return obj
json_data = json.dumps(physics_tuple, default=serialize)
print(type(json_data))
print(json_data)
<class 'str'> ["Class 9", "Physics", "Laws of Motion", "Introduction", "Newton First Law"]
相關用法
- Python Tuple轉integer用法及代碼示例
- Python Tuple轉List用法及代碼示例
- Python Tuple轉Tuple Pair用法及代碼示例
- Python Tuple count()用法及代碼示例
- Python Tuple index()用法及代碼示例
- Python Tuple cmp()用法及代碼示例
- Python Tuple len()用法及代碼示例
- Python Tuple max()用法及代碼示例
- Python Tuple min()用法及代碼示例
- Python Tuple tuple()用法及代碼示例
- Python Tuples轉Dictionary用法及代碼示例
- Python Tuple Matrix轉Tuple List用法及代碼示例
- Python Tkinter grid()用法及代碼示例
- Python TextCalendar formatmonth()用法及代碼示例
- Python TextCalendar formatyear()用法及代碼示例
- Python TextCalendar prmonth()用法及代碼示例
- Python TextCalendar pryear()用法及代碼示例
- Python Thread getName()用法及代碼示例
- Python Thread is_alive()用法及代碼示例
- Python Thread join()用法及代碼示例
- Python Thread run()用法及代碼示例
- Python Thread setName()用法及代碼示例
- Python Thread start()用法及代碼示例
- Python Timer cancel()用法及代碼示例
- Python Timer start()用法及代碼示例
注:本文由純淨天空篩選整理自paulsubhro大神的英文原創作品 Convert Tuple to Json Array in Python。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。