【python】json.loads()函数处理字符串时不需要指定编码
json.loads()函数处理字符串时不需要指定编码
不需要添加编码参数。在Python 3中,json.loads()
函数处理字符串时不需要指定编码,因为Python 3的字符串默认就是Unicode编码。
你的情况是这样的:
- 使用
json.dumps(..., ensure_ascii=False)
生成的pre_input_str
已经是包含原始中文字符的字符串 - 当这个字符串传给
json.loads()
时,它会正确解析所有字符,包括中文
实际上,json.loads()
在Python 3中根本不接受encoding
参数,因为它期望输入已经是Unicode字符串,而不是字节。如果你尝试添加这个参数:
json.loads(pre_input_str, encoding='utf-8')
会产生错误:TypeError: loads() got an unexpected keyword argument 'encoding'
所以你当前的代码已经能正确处理中文,不需要修改。