python之json.loads()报错ValueError: No JSON object could be decoded解决

当使用json.loads()解析JSON字符串时遇到ValueError: No JSON object could be decoded,通常是编码或单引号问题导致。解决方法包括将字符串先转化为标准格式,或者利用Python内置函数处理。务必注意安全,因为该函数可能执行危险操作。
摘要由CSDN通过智能技术生成

问题:json.loads(xxx)后报错ValueError: No JSON object could be decoded
原因:注意是unicode编码和'单引号问题引起
解决:

  1. 方法一:将xxx先作字符串转化xxx.replace("u'", '"').replace("'", '"'),然后再json.loads(xxx.replace("u'", '"').replace("'", '"'))即可

  2. 方法二:使用Python内置函数eval(expression[, globals[, locals]])解决
    说明:eval()用来执行一个字符串表达式,并返回表达式的值,强调:eval()可以将字符串转成表达式并执行,所以就可用该函数执行系统命令、删除文件等危险操作,因此要注意安全性

具体示例如下:

>>> test = "[[u'a',u'b'],[u'1',0]]"
>>> json.loads(test)
Traceback (most recent call last):
  File "<stdin>", line 1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值