Skip to main content
 首页 » 编程设计

python之json.loads 输入字符串格式错误

2025年05月04日28youxin

什么是最快的方式(执行明智)到 json.loads 在这种输入字符串上:

istr=""" {u'topic': u'dl_job', u'url': u'http://somedomain.com' }""" 

我无法控制作为 istr 传递的内容。

注意事项:

  • json.loads 不喜欢前导 u
  • 也不喜欢用 ' 而不是 "
  • 来分隔字符串

更新:我知道我可以玩一些肮脏的把戏,比如替换 u 和 ' 但我想知道是否有更简洁的解决方案。

请您参考如下方法:

如果这是一个 Python 数据结构(看起来像),您需要的函数是 ast.literal_eval。

http://docs.python.org/library/ast#ast.literal_eval

这类似于只调用eval,但是literal_eval是安全的,因为它不会调用任何函数或任何东西,只是解析文字(即列表、字典、字符串、数字等) .