Python如何处理JSON字符串
时间: 2024-01-02 17:02:14 浏览: 182
Python处理JSON.doc
Python内置了json模块,可以方便地处理JSON字符串。具体操作如下:
1. 将JSON字符串转为Python对象
使用json.loads()函数将JSON字符串转为Python对象,例如:
```python
import json
json_str = '{"name": "John", "age": 30, "city": "New York"}'
python_obj = json.loads(json_str)
print(python_obj)
# {'name': 'John', 'age': 30, 'city': 'New York'}
```
2. 将Python对象转为JSON字符串
使用json.dumps()函数将Python对象转为JSON字符串,例如:
```python
import json
python_obj = {'name': 'John', 'age': 30, 'city': 'New York'}
json_str = json.dumps(python_obj)
print(json_str)
# '{"name": "John", "age": 30, "city": "New York"}'
```
注意:如果Python对象中包含了自定义的数据类型,需要先进行序列化操作。可以自定义一个encoder继承自json.JSONEncoder,实现对自定义数据类型的序列化操作。例如:
```python
import json
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
class PersonEncoder(json.JSONEncoder):
def default(self, obj):
if isinstance(obj, Person):
return {"name": obj.name, "age": obj.age}
return super().default(obj)
person = Person("John", 30)
json_str = json.dumps(person, cls=PersonEncoder)
print(json_str)
# '{"name": "John", "age": 30}'
```
阅读全文