python json 报错

ss='"data":[{"amount":"400","financeAmount":"400万","financeAmountUnit":"CNY","financeDate":1514649600000,"newsUrl":"http://www.lieyunwang.com/archives/447914","participantVos":[{"entityId":117,"entityName":"联想之星","entityType":2,"investmentId":181676}],"phase":"ANGEL"}]'
sss=json.loads(ss)
Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "/usr/local/Cellar/python/3.6.5/Frameworks/Python.framework/Versions/3.6/lib/python3.6/json/__init__.py", line 354, in loads
    return _default_decoder.decode(s)
  File "/usr/local/Cellar/python/3.6.5/Frameworks/Python.framework/Versions/3.6/lib/python3.6/json/decoder.py", line 342, in decode
    raise JSONDecodeError("Extra data", s, end)
json.decoder.JSONDecodeError: Extra data: line 1 column 7 (char 6


阅读 3.3k
4 个回答

把你的ss里的json拿出来单独看。

"data":[{"amount":"400","financeAmount":"400万","financeAmountUnit":"CNY","financeDate":1514649600000,"newsUrl":"http://www.lieyunwang.com/archives/447914","participantVos":[{"entityId":117,"entityName":"联想之星","entityType":2,"investmentId":181676}],"phase":"ANGEL"}]

很明显的这根本不是个完整的json。
把前面的"data":去掉再试一下感觉一下。

s前加{,后加}

http://www.bejson.com/ 推荐个工具,以后看看是不是个json再去转义,很明显你的那个字符串就不是个json。

新手上路,请多包涵
import json

ss = """{"data":[{"amount":"400","financeAmount":"400万","financeAmountUnit":"CNY","financeDate":1514649600000,"newsUrl":"http://www.lieyunwang.com/archives/447914","participantVos":[{"entityId":117,"entityName":"联想之星","entityType":2,"investmentId":181676}],"phase":"ANGEL"}]}"""

print(json.loads(ss))

输出如下

{'data': [{'amount': '400',
'financeAmount': '400万',
'financeAmountUnit': 'CNY',
'financeDate': 1514649600000,
'newsUrl': 'http://www.lieyunwang.com/arc...',
'participantVos': [{'entityId': 117,

 'entityName': '联想之星',
 'entityType': 2,
 'investmentId': 181676}],
'phase': 'ANGEL'}]}

错误原因,数据没有使用以{}开始,结束,json数据必须放在{}里面

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