JSONType()函数实现Python中JSON数据的类型转换
发布时间:2023-12-26 17:00:51
JSONType()函数是一个自定义函数,用于将Python中的数据转换为JSON数据类型。该函数接受一个参数,代表要转换的数据。根据不同的数据类型,函数会返回对应的JSON类型。
以下是JSONType()函数的实现代码:
def JSONType(data):
if data is None:
return "null"
elif isinstance(data, bool):
return "true" if data else "false"
elif isinstance(data, (int, float)):
return str(data)
elif isinstance(data, str):
return '"' + data + '"'
elif isinstance(data, list):
res = "["
for item in data:
res += JSONType(item) + ","
res = res.rstrip(",") + "]"
return res
elif isinstance(data, dict):
res = "{"
for key, value in data.items():
res += '"' + str(key) + '":' + JSONType(value) + ","
res = res.rstrip(",") + "}"
return res
else:
return None
该函数首先判断数据的类型,并根据不同的类型执行相应的操作。如果数据为None,则返回字符串"null";如果数据为布尔值,则返回"true"或"false";如果数据为数字,则将其转换为字符串返回;如果数据为字符串,则将其用双引号包裹返回。
如果数据为列表,则遍历列表中的每一个元素,调用JSONType()函数进行递归处理,然后将结果拼接到一个以逗号分隔的字符串中,最后在字符串的两侧加上方括号,返回一个JSON数组形式的字符串。
如果数据为字典,则遍历字典中的每一对键值对,将键用双引号包裹,然后将值调用JSONType()函数进行递归处理,再将结果拼接到一个以逗号分隔的字符串中,最后在字符串的两侧加上大括号,返回一个JSON对象形式的字符串。
下面是一个使用JSONType()函数的例子:
data = {
"name": "Alice",
"age": 25,
"is_student": True,
"grades": [90, 85, 95],
"address": {
"street": "123 Main St",
"city": "New York",
"state": "NY"
}
}
json_data = JSONType(data)
print(json_data)
运行上述代码,将会输出以下结果:
{"name":"Alice","age":25,"is_student":true,"grades":[90,85,95],"address":{"street":"123 Main St","city":"New York","state":"NY"}}
可以看到,JSONType()函数成功地将Python数据转换为了JSON字符串形式。
