JSON是一种轻量级的数据交换格式,Python是一门强大的编程语言,两者都是在不同领域的应用,通常在Web开发中,我们会使用JavaScript解析JSON数据,但有时候需要将JSON数据转为Python可读取的形式。以下是一些方法:
使用Python内置库json模块
在Python中,我们可以使用内置库json模块来解析JSON数据。步骤如下:
- 导入json模块
import json
- 将JSON数据解析为字典
json_data = '{"name":"Tom","age":18,"gender":"Male"}'
python_data = json.loads(json_data)
print(python_data)
以上代码会将JSON字符串json_data
转为Python的字典类型python_data
。通过json.loads()
函数可以将JSON字符串转为Python数据结构。输出结果如下:
{'name': 'Tom', 'age': 18, 'gender': 'Male'}
- 将Python数据导出为JSON字符串
python_data = {"name":"Tom","age":18,"gender":"Male"}
json_data = json.dumps(python_data)
print(json_data)
可以使用json.dumps()
函数将Python数据结构导出为JSON字符串。输出结果如下:
{"name": "Tom", "age": 18, "gender": "Male"}
使用第三方库jsonpickle
Python第三方库jsonpickle可以将所有Python的基本数据类型和自定义类对象转为JSON格式。步骤如下:
- 安装jsonpickle
可以通过pip命令进行安装,如下:
pip install jsonpickle
- 导入jsonpickle并将Python数据结构转为JSON格式
import jsonpickle
class Person:
def __init__(self, name, age, hobbies):
self.name = name
self.age = age
self.hobbies = hobbies
p = Person("Tom", 18, ["swimming", "reading", "music"])
json_data = jsonpickle.encode(p)
print(json_data)
以上代码会将一个自定义类对象p
转为JSON格式的字符串。几个要点包括:
- 类必须是顶级类(即不能嵌套在其他类中的)
- 如果类的属性是子类,则需要同时将子类用jsonpickle注册后,才能导出。
输出结果如下:
{"py/object": "__main__.Person", "age": 18, "hobbies": {"py/set": ["music", "reading", "swimming"]}, "name": "Tom"}
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript中的JSON转为Python可读取 - Python技术站