{"record":{"id":"c94f765b4663a675","repo":"sansan0/TrendRadar","slug":"json-feed-feed-url-e","errorCode":null,"errorMessage":"JSON Feed 解析失败 ({feed_url}): {e}","messagePattern":"JSON Feed 解析失败 \\((.+?)\\): (.+?)","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"trendradar/crawler/rss/parser.py","lineNumber":112,"sourceCode":"            return False\n\n    def _parse_json_feed(self, content: str, feed_url: str = \"\") -> List[ParsedRSSItem]:\n        \"\"\"\n        解析 JSON Feed 1.1 格式\n\n        JSON Feed 规范: https://www.jsonfeed.org/version/1.1/\n\n        Args:\n            content: JSON Feed 内容\n            feed_url: Feed URL（用于错误提示）\n\n        Returns:\n            解析后的条目列表\n        \"\"\"\n        try:\n            data = json.loads(content)\n        except json.JSONDecodeError as e:\n            raise ValueError(f\"JSON Feed 解析失败 ({feed_url}): {e}\")\n\n        items_data = data.get(\"items\", [])\n        if not items_data:\n            return []\n\n        items = []\n        for item_data in items_data:\n            item = self._parse_json_feed_item(item_data)\n            if item:\n                items.append(item)\n\n        return items\n\n    def _parse_json_feed_item(self, item_data: Dict[str, Any]) -> Optional[ParsedRSSItem]:\n        \"\"\"解析单个 JSON Feed 条目\"\"\"\n        url = item_data.get(\"url\", \"\") or item_data.get(\"external_url\", \"\")\n\n        title = item_data.get(\"title\", \"\")","sourceCodeStart":94,"sourceCodeEnd":130,"githubUrl":"https://github.com/sansan0/TrendRadar/blob/8ee26026ba6c11dec41a95fb3895a7162876caa1/trendradar/crawler/rss/parser.py#L94-L130","documentation":"Error \"JSON Feed 解析失败 ({feed_url}): {e}\" thrown in sansan0/TrendRadar.","triggerScenarios":"Thrown at trendradar/crawler/rss/parser.py:112 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["确认 feed_url 返回的是合法 JSON Feed 格式","检查返回内容是否为 HTML 错误页或被截断","修正或更换该 JSON Feed 源"],"exampleFix":"curl -s https://example.com/feed.json | python -m json.tool  # 校验 JSON","handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"8ee26026ba6c11dec41a95fb3895a7162876caa1","analyzedAt":"2026-08-15T01:42:18.084Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}