当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python Tuple转Json Array用法及代码示例


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"]




相关用法


注:本文由纯净天空筛选整理自paulsubhro大神的英文原创作品 Convert Tuple to Json Array in Python。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。