【问题标题】:json.load(json_ob) results in error "JSONDecodeError: Expecting value: line 1 column 1 (char 0)"json.load(json_ob) 导致错误“JSONDecodeError: Expecting value: line 1 column 1 (char 0)”
【发布时间】:2020-07-03 16:52:12
【问题描述】:

我通过调用 API 创建了一个 json 对象:

import urllib.request  as urllib2 
import json
api_key = '...api_key_here...'
request_url = 'http://api....url_here....xml?attribute=XXXX&api_key=blah'

json_obj = urllib2.urlopen(request_url)

运行没有错误。

然后我尝试运行:

data = json.load(json_obj)

这导致了以下错误:

JSONDecodeError: Expecting value: line 1 column 1 (char 0)

我需要改变什么来解决这个问题?

【问题讨论】:

  • 我建议打印出json_obj 中返回的内容。该错误表示 JSON 的第一个字符是意外的。我看到您的请求 URL 中提到了“xml”,所以您确定响应是 JSON 吗?
  • 啊!接得好!谢谢。它的 XML o_O

标签: python json urllib2


【解决方案1】:

试试这个

import requests
import json

api_key = '...api_key_here...'
request_url = 'http://api....url_here....xml?attribute=XXXX&api_key=blah'

json_obj = json.loads(requests.get("request_url").text)

【讨论】:

    猜你喜欢
    • 2020-09-05
    • 1970-01-01
    • 1970-01-01
    • 2021-06-11
    • 2023-02-21
    • 1970-01-01
    • 1970-01-01
    • 2020-12-04
    • 2018-11-12
    相关资源
    最近更新 更多