JSON格式的数据可以保存数组和对象,JSON数组用一对中括号将数据括起来,JSON对象用一对大括号将数据括起来
数组
[
"Apple",
"Banana",
"Cherry"
]
对象
{
"name": "John Doe",
"age": 30,
"isStudent": false,
"courses": ["Math", "Science", "History"]
}
在Python中,您可以使用json模块将字典转换为JSON格式的字符串。json.dumps()函数将Python字典转换为JSON格式的字符串。
import json
# 这是一个Python字典
dic = {
"name": "John Doe",
"age": 30,
"isStudent": False,
"courses": ["Math", "Science", "History"]
}
# 使用json.dumps()将字典转换为JSON字符串
jsonStr = json.dumps(dic)
# 打印转换后的JSON字符串
print(jsonStr)
要将JSON字符串转换回Python字典,您可以使用json.loads()函数。
import json
# 这是一个JSON格式的字符串
jsonStr = '{"name": "John Doe", "age": 30, "isStudent": false, "courses": ["Math", "Science", "History"]}'
# 使用json.loads()将JSON字符串转换为字典
dic = json.loads(jsonStr)
# 打印转换后的字典
print(dic)
使用 eval() 函数可以将一个字符串转换为Python字典,但是这种方法非常不安全,特别是当字符串来自不可信的源时。eval() 会执行字符串中的任何Python代码,这可能导致安全漏洞。因此,对于JSON字符串,始终建议使用 json.loads() 方法来安全地转换JSON字符串为字典。
然而,如果你的JSON字符串确实是一个有效的Python字典表示,并且你知道它是安全的(例如,它不是从外部源获得的),那么你可以使用 eval() 来转换它。这里是一个例子:
# 这是一个有效的Python字典表示的字符串,也是有效的JSON格式
jsonStr = '{"name": "John Doe", "age": 30, "isStudent": False, "courses": ["Math", "Science", "History"]}'
# 使用eval()将字符串转换为字典
dic = eval(jsonStr)
# 打印转换后的字典
print(dic)
字符串转对象
object = json.loads(jsonStr,object_hook=Object)
字典转对象
object =Object(dic)
类实例转换为字符串
jsonStr = json.dumps(product,default=product2Dict,ensure_ascii=False)
Product对象列表转换为JSON字符串:
jsonStr = json.dumps(products,default=product2Dict,ensure_ascii = false)
字符串转对象列表
objects = json.loads(jsonStr,object_hook=Object)
将JSON字符串转换为字典
d=json.loads(jsonStr)
将字典转换为XML字符串
xmlStr = dicttoxml.dicttoxml(d).decode(‘utf-8’)
网友评论