sansan0/TrendRadar · error · ValueError
JSON Feed 解析失败 ({feed_url}): {e}
Error message
JSON Feed 解析失败 ({feed_url}): {e} What it means
Error "JSON Feed 解析失败 ({feed_url}): {e}" thrown in sansan0/TrendRadar.
Source
Thrown at trendradar/crawler/rss/parser.py:112
return False
def _parse_json_feed(self, content: str, feed_url: str = "") -> List[ParsedRSSItem]:
"""
解析 JSON Feed 1.1 格式
JSON Feed 规范: https://www.jsonfeed.org/version/1.1/
Args:
content: JSON Feed 内容
feed_url: Feed URL(用于错误提示)
Returns:
解析后的条目列表
"""
try:
data = json.loads(content)
except json.JSONDecodeError as e:
raise ValueError(f"JSON Feed 解析失败 ({feed_url}): {e}")
items_data = data.get("items", [])
if not items_data:
return []
items = []
for item_data in items_data:
item = self._parse_json_feed_item(item_data)
if item:
items.append(item)
return items
def _parse_json_feed_item(self, item_data: Dict[str, Any]) -> Optional[ParsedRSSItem]:
"""解析单个 JSON Feed 条目"""
url = item_data.get("url", "") or item_data.get("external_url", "")
title = item_data.get("title", "")View on GitHub (pinned to 8ee26026ba)
Solutions
- 确认 feed_url 返回的是合法 JSON Feed 格式
- 检查返回内容是否为 HTML 错误页或被截断
- 修正或更换该 JSON Feed 源
Example fix
curl -s https://example.com/feed.json | python -m json.tool # 校验 JSON
When it happens
Trigger: Thrown at trendradar/crawler/rss/parser.py:112 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of sansan0/TrendRadar@8ee26026ba (2026-08-15).
Data as JSON: /api/errors/c94f765b4663a675.
Report an issue: GitHub.