如何在 JSON 格式中表示 Python 元组?

如何在 JSON 格式中表示 Python 元组?

在本文中,我们将展示如何将 Python 中的元组表示为 JSON 格式。 本文将介绍以下几种方法:

  • Python 元组转换为 JSON

  • 将带有不同数据类型的 Python 元组转换为 JSON 字符串

  • 解析 JSON 字符串并使用 json.loads() 方法访问元素。

  • 使用 json.dumps() 将元组的字典转换为 JSON。

什么是 JSON?

JSON(JavaScript 对象表示法) 是一种简单的轻量级数据交换格式,人类可以读写。 计算机也可以轻松解析和生成它。 JSON 是一种基于 JavaScript 的计算机语言。 它是一种与语言无关的文本格式,可与 Python,Perl 和其他编程语言一起使用。 其主要功能是在服务器和 Web 应用程序之间传输数据。

JSON 由两个结构组成:

  • 键/值对集合。 这是通过对象、记录、字典、哈希表、键控列表或关联数组来实现的。

  • 值的有序列表。 这是通过使用数组、向量、列表或序列来实现的。

更多Python相关文章,请阅读:Python 教程

Python 中的 JSON

在 Python 中,有一些支持 JSON 的软件包,例如 metamagic.json、jyson、simplejson、Yajl-Py、ultrajson 和 JSON。

下面显示了 JSON 数据的示例。 数据表示看起来非常类似于 Python 字典。

{
    "tutorialspoint": [
        {
            "article": "1",
            "category": "python",
            "writtenby": "abc"
        },
        {
            "article": "2",
            "category": "Java",
            "writtenby": "xyz"

        }
    ],
    "address": [
        {
            "place": "hitechcity",
            "websitelink": "www.tutorialspoint.com"
        }
    ]
}

Python 的 JSON 库用于数据序列化。JSON 是 JavaScript 对象标记 的缩写。

编码 是将 Python 对象转换为 JSON 的过程。 可以使用 Python 的 json 模块 来处理 JSON 对象。 但是,在使用模块之前,必须首先导入它。

使用 JSON 库方法 json.dumps() 进行编码。 默认情况下,Python 的 JSON 库提供将 Python 对象转换为 JSON 对象的以下转换。

Python JSON
dict Object
tuple Array
list Array
Unicode String
number – int, long number – int
float number – real
True True
False False
None Null

将 Python 元组转换为 JSON

使用 json.dumps() 函数将 Python 元组转换为 JSON。 要将对象转换为 json 字符串,json.dumps() 方法接受元组作为参数。

在 Python 代码的顶部导入 json 模块以处理与 json 相关的函数。

语法

jsonStr = json.dumps(tuple)

算法(步骤)

执行所需任务的算法/步骤如下:

  • 使用import关键字导入 json 模块。

  • 创建一个变量来存储输入的元组。

  • 使用 json.dumps() 函数(将Python元组转换为JSON)将输入元组转换为 JSON 字符串,将输入元组作为参数传递给该函数。

  • 打印生成的JSON字符串对象。

  • 使用 type() 函数(返回对象的数据类型)打印生成的JSON字符串对象的类型。

示例

下面的程序使用Python中的json.dumps()函数将输入的元组转换为JSON-

# 导入json模块
import json
# 输入元组
inputTuple = ("hello", "tutorialspoint", "python")
# 将输入元组转换为json字符串
jsonObject = json.dumps(inputTuple)
# 打印生成的JSON字符串
print(jsonObject)
print(type(jsonObject))

输出

执行上述程序后,将生成以下输出-

["hello", "tutorialspoint", "python"]
<class 'str'>

将具有不同数据类型(异构数据类型)的Python元组转换为JSON字符串

如果您有一个包含多种数据类型的Python元组,则可以使用 json.dumps() 方法将其转换为 JSON字符串

示例

下面的程序将包含String、Integer、Boolean和Float等数据类型的输入元组转换为JSON字符串-

# 导入json模块
import json
# 输入元组包含多种数据类型(异构数据类型)
inputTuple = (5, 9.5, "tutorialspoint", False)
# 将输入元组转换为json字符串
jsonObject = json.dumps(inputTuple)
# 打印生成的JSON字符串
print(jsonObject)
# 打印结果JSON字符串的类型
print(type(jsonObject))

输出

执行上述程序后,将生成以下输出-

[5, 9.5, "tutorialspoint", false]
<class 'str'>

解析JSON字符串并使用json.loads()方法访问元素

如果您有一个包含多种数据类型的Python元组,则可以使用 json.dumps() 方法将其转换为 JSON字符串 ,然后使用 json.loads() 方法解析JSON字符串并访问元素。

示例

下面的程序解析JSON字符串并使用json.loads()方法访问元素-

# 导入 json 模块
import json
# 输入包含多种数据类型的元组
inputTuple = (5, 9.5, "tutorialspoint", False)
# 将输入的元组转换为 json 字符串
jsonObject = json.dumps(inputTuple)
# 打印出结果 JSON 字符串
print(jsonObject)
# 打印出结果 JSON 字符串的类型
print(type(jsonObject))
print("将 JSON 字符串对象转换为列表:")
# 使用 json.loads() 函数将 JSON 字符串对象转换为列表
jsonArray= json.loads(jsonObject)
# 访问 JSON 数组中的第一个元素
print("JSON 数组的第一个元素:", jsonArray[0])
# 打印出 json 数组的类型
print("json 数组的类型:", type(jsonArray))

输出

向上执行代码,将会生成以下输出:

[5, 9.5, "tutorialspoint", false]
<class 'str'>
将 JSON 字符串对象转换为列表:
JSON 数组的第一个元素: 5
json 数组的类型: <class 'list'>

使用 json.dumps() 函数将元组字典转换为 JSON

json.dumps() 函数将元组字典转换为 JSON。

语法

json.dumps(dictionary, indent)

参数

  • dictionary-输入的字典

  • indent-缩进的单位数量

例子

下面的例子使用 json.dumps() 函数将输入的元组字典转换为 JSON -

# 导入 json 模块
import json
# 输入字典
dict = {
   "id": ("1", "2", "3"),
   "languages": ("python", "java", "c++"),
   "authors": ("abc", "xyz", "pqr")
}
# 将元组字典转换为 json
result = json.dumps(dict, indent=2)
# 打印出结果 JSON
print(result)

输出

向上执行代码,将会生成以下输出:

{
   "id": [
      "1",
      "2",
      "3"
   ],
   "languages": [
      "python",
      "java",
      "c++"
   ],
   "authors": [
      "abc",
      "xyz",
      "pqr"
   ]
}

结论

本文学习了如何将元组表示为 JSON 对象/字符串。通过一个例子,我们对 JSON 对象有了一个简要的概述。我们还学习了如何将元组字典转换为 JSON。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程