加载unicode json/序列化字典失败,原因是unicode

2022-01-19 00:50:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我得到了一些必须解析并转换为Dict的输入。我无法控制输入是如何生成的。你知道吗

输入示例是u'{u\'my_key\': u\'AB\\N\'}'。注意,这应该表示一个序列化的字典。你知道吗

使用多种方法解析此字典字符串失败。由于structure of the string being malformed due to the nested ^{},使用json.loads失败。使用ast.literal_eval失败,出现(unicode error) 'unicodeescape' codec can't decode bytes in position 3-4: malformed \N character escape错误。你知道吗

我需要以某种方式清理输入,这样\N在用ast解析时就不会被认为是ascii字符。做一个简单的replace('\\', '\\\\')看起来容易出错,而且可能有很多边缘情况。你知道吗

或者,我需要一种从嵌套字符串中删除u的方法,这样json.loads就可以工作了。你知道吗

谢谢