将json字符串恢复成python字符串遇到的问题

将json字符串恢复成python字符串

在疯狂的python讲义一书235页中,我看到了这样一段代码

result2 = josn.loads('"\\"foo\\"bar"')
print(result2) # "foo"bar

我在终端测试了一下,结果是正确的,有人能回答一下那四个反斜杠为什么不见了呢?非常感谢!这中间的解析过程到底是怎么样的?

阅读 2.4k
1 个回答

在 Python 里,字符串常量\ 是一个转移字符,转义序列 \\ 会被处理为 \

于是,json.loads 拿到的字符串是 "\"foo\"bar"

然后,json.loads 使用 JSON 的语法解析 "\"foo\"bar" ,得到结果是字符串 "foo"bar

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题