python遇坑记录-json.loads() :JSONDecodeError: Invalid escape

Posted screte

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python遇坑记录-json.loads() :JSONDecodeError: Invalid escape相关的知识,希望对你有一定的参考价值。

环境:python3.6


json文件:

{
   "src_dir"            :   "C:\Users\admin\Desktop\99\apkobb",
   "bucket"             :   "tocggspace",
   "key_prefix"         : "ggspace/self/"
}

py文件:

import sys, json

configfile = sys.argv[1]

config = json.loads(configfile)

执行:json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
文件中的\无法decode,思路先转成其他的字符,decode之后再转回来

import sys, json

configfile = sys.argv[1]

f = open(configfile, r)
configstr = f.read().replace(\, \\)
configtmp = json.loads(configstr)
config = {k: v.replace(\\, \) for k, v in configtmp.items()}
print(config)

数据结果:

{src_dir: C:\Users\admin\Desktop\99\apkobb, bucket: tocggspace, key_prefix: ggspace/self/}

问题解决

 



以上是关于python遇坑记录-json.loads() :JSONDecodeError: Invalid escape的主要内容,如果未能解决你的问题,请参考以下文章

python 解析json loads dumps

在 python 中处理 json.loads() 值错误

Python json.loads()

python json (loads(),load(),jump(),jumps())

python——json.loads避坑

使用 python json.loads 解析 unicode 输入