Python

Python-数据存储(json)

2024-09-09  本文已影响0人  阿凡提说AI

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’)
上一篇 下一篇

猜你喜欢

热点阅读