simplejson
时间: 2024-06-05 21:05:00 浏览: 129
Simple JSON开发指南
simplejson是一个用于编码和解码JSON数据的Python模块。它是Python标准库模块中json的第三方替代品。simplejson在各种Python运行环境中都可以使用,包括CPython、Jython和IronPython等。它具有比内置的json模块更好的性能和更好的错误处理能力,支持自定义编码器和解码器,并且可以在处理JSON数据的过程中提供更多的控制选项。
以下是simplejson的一些常见用法:
1.将Python对象编码为JSON格式的字符串[^1]:
```python
import simplejson as json
data = {'name': 'Bob', 'age': 20}
json_data = json.dumps(data)
print(json_data) # 输出{"name": "Bob", "age": 20}
```
2.将JSON格式的字符串解码为Python对象[^1]:
```python
import simplejson as json
json_data = '{"name": "Bob", "age": 20}'
data = json.loads(json_data)
print(data) # 输出{'name': 'Bob', 'age': 20}
```
3.自定义编码器和解码器[^2]:
```python
import simplejson as json
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def encode_person(obj):
if isinstance(obj, Person):
return {'name': obj.name, 'age': obj.age}
else:
raise TypeError('Object is not a Person')
def decode_person(json_dict):
if 'name' in json_dict and 'age' in json_dict:
return Person(json_dict['name'], json_dict['age'])
else:
return json_dict
data = Person('Bob', 20)
json_data = json.dumps(data, default=encode_person)
print(json_data) # 输出{"name": "Bob", "age": 20}
data = json.loads(json_data, object_hook=decode_person)
print(data.name, data.age) # 输出Bob 20
```
阅读全文