json(Javascript Object Notation)基础介绍
一种轻量级的数据交换格式,易于人阅读和编写。
语法规则
- 数据为键值对
- 数据由,隔开
- 大括号保存对象
- 方括号保存数组
python
函数 | 描述 |
---|---|
json.dumps | 将python对象编码成JSON字符串 |
json.loads | 将以编码的JSON字符串 |
去掉s则是文件操作
类型对照表
JSON | Python |
---|---|
object | dict |
array | list |
string | unicode |
numbe(int) | int,long |
number(real) | float |
true | True |
false | False |
null | None |
注:使用jinja2时需要使用过滤器 tojson
javascript
函数 | 描述 |
---|---|
JSON.parse() | 用于将JSON字符串转换为JavaScript对象 |
JSON.stringify() | 用于将JavaScript值转换为JSON字符串 |
问题集锦
1、解决:TypeError: Object of type xxx is not JSON serializable
class MyEncoder(json.JSONEncoder):
def default(self, obj):
elif isinstance(obj, np.floating):
return float(obj)
elif isinstance(obj, np.ndarray):
return obj.tolist()
if isinstance(obj, time):
return obj.__str__()
else:
return super(NpEncoder, self).default(obj)
json.dumps(data, cls=MyEncoder)