问题为控制台打印json字符串格式正确,但json.loads()解析失败。看似简单的问题,却又折腾了好一会,因此记录一下解决方法!
出现这个问题的原因:眼见不一定为实,控制台打印的json字符串并不一定是实际的json字符串!通过debug,会发现,字符串格式如下:
- 因此,需要对字符串进行处理:
multitask_resp_text = multitask_resp_text.strip('```json\n').strip('\n```')
- 处理后,字符串格式正确了:
但是用json.loads()解析时仍然存在解析不出来,我的解决方法是:用simplejson替代json
原始解析:
multitask_resp_list = json.loads(multitask_resp_text, encoding='utf-8')
替换后解析:
multitask_resp_list = simplejson.loads(multitask_resp_text, encoding='utf-8')
可以发现此时解析成功了!