如何在Tkinter中从Python函数返回JSON对象?
JavaScript Object Notation简称为JSON是一种用于在许多不同语言之间交换数据的简单数据格式。它易于人们阅读,对于计算机来解析也很简单。
Python会将JSON文本读入一个带有每个键值对中的值的引号字符串。一旦解析,它就可以在Python中作为字典对象进行访问。可以使用Python中内置的json包对JSON数据进行编码和解码。在使用json类型的文件之前,必须先导入json库。
JSON的目的
使用序列化进行Python到JSON的转换。将数据转换为一系列字节以进行存储的过程称为序列化。
将不同的Python特定对象转换为标准的JSON可接受格式,因为JSON可以被其他语言读取,例如,当它们以JSON格式存储时,列表和元组等Python特定对象被转换为数组。
同样适用于将JSON对象导入并解析为Python字典。它被存储为“dict”,因为它的格式与JSON非常相似,可以包含其他数据结构,如列表,元组和其他字典等等。
要从Python函数返回JSON对象,需要使用dumps()函数。
使用dumps()函数
当我们希望传输和存储Python对象时,通常使用dumps函数,而json包使此任务变得快速和简单。在需要对象以字符串格式时,它用于解析,打印以及其他函数。该方法直接编写json文件。
算法
以下是从Python函数返回json对象的方法 –
- 导入模块
-
创建函数
-
创建字典
-
使用dumps()方法将字典转换为JSON对象。
-
返回JSON对象
注 - 字典将被转换为JSON字符串,并使用json.dump()保存在文件中。
示例
下面是上述方法的示例 –
import json
# Creating the function
def sports():
# Defining the Variable
name = "Cricket"
player = "Sachin Tendulkar"
Playerid = 13
score = 49
# Creating the dictionary
values = {
"name": name,
"player": player,
"Playerid": Playerid,
"score": score
}
return json.dumps(values)
# Calling the function and printing it
print('The dictionary is:',sports())
输出
下面是上述代码的输出 –
The dictionary is: {"name": "Cricket", "player": "Sachin Tendulkar", "Playerid": 13, "score": 49}
示例
以下是使用列表作为字典值的上述方法的示例 –
导入 json
# 创建函数
def sports():
# 创建字典
values = {
"name": "板球",
"球员": "哈迪克·潘迪亚",
"位置": ["击球手", "投手", "守场员"],
"球员编号": 13,
"得分": [{
"ODI比赛": 100,
"T-20比赛": 89,
"测试比赛": 200
},
{
"亚洲杯": 249,
"ODI世界杯": 347,
"印度超级联赛": 150
}
]
}
return json.dumps(values)
# 调用函数并打印输出
print('这个字典是:',sports())
输出
以下是上面代码的输出结果−
这个字典是: {"name": "板球", "球员": "哈迪克·潘迪亚", "位置": ["击球手", "投手", "守场员"], "球员编号": 13, "得分": [{"ODI比赛": 100, "T-20比赛": 89, "测试比赛": 200}, {"亚洲杯": 249, "ODI世界杯": 347, "印度超级联赛": 150}]}
例子
借助提供的Python字典,我们可以从Python函数返回JSON对象,如下所示−
导入 json
dictionary = {'姓名':'安娜妮亚', '年龄': 23, '就业情况': True }
# python字典
def returnjson():
result = json.dumps(dictionary)
print ('这个字典是:',result)
returnjson()
输出
以下是上面代码的输出结果−
这个字典是: {"姓名": "安娜妮亚", "年龄": 23, "就业情况": true}