首页 > 解决方案 > 尝试解析 JSON 站点时出现 JSONDecodeError

问题描述

我很想解析我通过 python HTTP 请求请求的 JSON 站点,以便在 UTF-8 中正确解码它们。

这样做时,我收到此错误:

JSONDecodeError:期望值:第 1 行第 1 列(字符 0)

这是我正在使用的代码:

res = []
for url in urls:  
    req = requests.get(url)
    daten = json.loads(textinhalt[textinhalt.find("{"):textinhalt.rfind("}")+1])
    res.append(daten)

但是当我只用一个网址尝试这个时:

response = requests.get(url)
textinhalt = response.content.decode()
daten = json.loads(textinhalt[textinhalt.find("{"):textinhalt.rfind("}")+1])

我得到了正确 UTF-8 的有效输出。

JSON 文件示例:

package IRCurrpageData;
use strict;
use utf8;
use warnings;
no warnings 'redefine';
use JSON::XS qw();

our $data = <<'__IR_CURRPAGE_DATA_JSON__';
{
   "_baseurl" : "",
   "_bilder" : {},
   "_bilderstrecken" : {},
   "_channelauswahl_canonical_url" : "1",
   "_channelauswahl_rechte_spalte_newsticker" : "1",
   "_channellayout" : "1",
   "_class" : "",
   "_gesamtbilder" : {},
   "_gesamttext" : "<textabsatz_anfang /><p> Die F<p> 
   <inline type=\"autorendaten\" /></p><textabsatz_ende />",
   "_multimediadateien" : {},
   "_resale_frei_zugaenglich" : 1,
   "_resale_treenode" : "",
   "_seitentexte" 

__IR_CURRPAGE_DATA_JSON__
$data = JSON::XS->new->decode($data);
1;
}

是什么导致了这里的错误?

标签: pythonjson

解决方案


推荐阅读