python json.loads格式没问题却报错No JSON object could be decoded

这是我的代码

if __name__ == "__main__":
    clearLogConfig = os.getenv("CLEAR_LOG_CONFIG")
    print clearLogConfig
    clearLogConfig = json.loads(clearLogConfig)
    print clearLogConfig
    exit()

图片描述

手动测试也是ok的

阅读 8.3k
3 个回答

你得贴一下clearLogConfig这个是啥?是一个满足JSON格式的字符串么?

import json, os
clearLogConfig = os.getenv("CLEAR_LOG_CONFIG", '{"a": 1}')
print (clearLogConfig)
clearLogConfig = json.loads(clearLogConfig)
print (clearLogConfig)

多了单引号导致的, 如下代码会报错:

import json
a = "'{'a':1}'"
a = json.loads(a)

看了下你的代码,应该是clearLogConfig变量的值不是标准的json字符串导致的,可以试下一下代码:

if __name__ == "__main__":
    clearLogConfig = os.getenv("CLEAR_LOG_CONFIG")
    clearLogConfig = clearLogConfig[1:-1]
    print clearLogConfig
    clearLogConfig = json.loads(clearLogConfig)
    print clearLogConfig
    exit()
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题