考虑到SQL SELECT结果的成功查询,存在带有\ n和\的json输出。这让我在将json字符串反序列化为对象数组时感到困惑和障碍。您能否告诉我替换所有这些json字符串而没有换行符,空格和黑杠\
的方法?
dicts = [dict(row) for row in result]
j = json.dumps(dicts , sort_keys=True,
indent=None,
default=default , separators=(',', ':'))
return {
'result': j
}
这是我的输出json,带有许多反斜杠\
{"result": "[{\"_access\":[{\"level\":\"read\",\"public\":true}],\"_created_at\":\"2019-05-26T09:57:10.494525\",\"_created_by\":\"473ee711-19a0-4309-8cb2-7f672fd93224\",\"_database_id\":\"\",\"_id\":\"3f674e29-29ba-4dcf-b9d9-f99a3c35866e\",\"_owner_id\":\"473ee711-19a0-4309-8cb2-7f672fd93224\",\"_updated_at\":\"2019-05-26T10:01:14.691527\",\"_updated_by\":\"473ee711-19a0-4309-8cb2-7f672fd93224\",\"book_label\":\"B198\",\"deleted_at\":null,\"deleted_by\":null,\"free_assign_date\":null,\"free_assign_end_date\":null,\"is_completed\":false,\"is_free_assigned\":true,\"progress_chapter\":1,\"total_chapters\":2,\"user_label\":\"user10\"}]"}
答案 0 :(得分:1)
字典中的["result"]
条目是一个字符串。您只需要解析它即可。 json.dumps
的作用与您所寻找的相反—将JSON转换为字符串。您需要json.loads
,它将字符串转换为JSON数据。
答案 1 :(得分:0)
import json
result_str = "[{\"_access\":[{\"level\":\"read\",\"public\":true}],\"_created_at\":\"2019-05-26T09:57:10.494525\",\"_created_by\":\"473ee711-19a0-4309-8cb2-7f672fd93224\",\"_database_id\":\"\",\"_id\":\"3f674e29-29ba-4dcf-b9d9-f99a3c35866e\",\"_owner_id\":\"473ee711-19a0-4309-8cb2-7f672fd93224\",\"_updated_at\":\"2019-05-26T10:01:14.691527\",\"_updated_by\":\"473ee711-19a0-4309-8cb2-7f672fd93224\",\"book_label\":\"B198\",\"deleted_at\":null,\"deleted_by\":null,\"free_assign_date\":null,\"free_assign_end_date\":null,\"is_completed\":false,\"is_free_assigned\":true,\"progress_chapter\":1,\"total_chapters\":2,\"user_label\":\"user10\"}]"
js_obj = json.loads(result_str)
print json.dumps(js_obj)
尝试一下