[BUG] JSONLoader rejects valid UTF-8 BOM files
I maintainer di solito rispondono entro 1 giorno
@Vidit-Ostwal ci sta già lavorando.
Dal 12/10/2026.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 82/100
Direzione di ricerca
Il bug si trova in JSONLoader, in crewai_tools/rag/loaders/json_loader.py, che apre i file con encoding="utf-8" prima di chiamare json.loads. Inizia eseguendo lo script di riproduzione presente nell'issue, che scrive un file con prefisso BOM e chiama JSONLoader().load su di esso, poi verifica dove viene impostato metadata["parse_error"]. Il lavoro è completato quando il file con BOM produce lo stesso contenuto analizzato e gli stessi metadati del corrispettivo senza BOM.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Description
JSONLoader treats a valid UTF-8 JSON file with a leading BOM as malformed JSON. The loader opens files with plain encoding="utf-8", and json.loads() rejects the resulting \ufeff prefix. The same JSON without BOM parses normally.
Reproduction
from pathlib import Path
from tempfile import TemporaryDirectory
from crewai_tools.rag.loaders.json_loader import JSONLoader
from crewai_tools.rag.source_content import SourceContent
with TemporaryDirectory() as directory:
path = Path(directory) / "data.json"
path.write_bytes(b"\xef\xbb\xbf{\"message\": \"hello\"}")
result = JSONLoader().load(SourceContent(path))
print(result.metadata, result.content)
Actual: metadata["parse_error"] is set and content retains the BOM-prefixed raw text.
Expected: same parsed content/metadata as the equivalent BOM-free JSON file.
Verified on CrewAI source main d38ceafb68c6ad33196c9ac052b9b67e74dab37c, Python 3.12.15, no network/model/credentials. This is distinct from CrewAI CSV BOM reports (#7466 and its existing PRs); public search found no JSONLoader/BOM issue or PR.
AI-assisted investigation and issue writing; llm-generated label required.
- Lingua principale
- Python
- Stelle
- 60.4k
- Fork
- 9k
- Merge medio
- 1g 5h
- PR unite (30g)
- 190
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di crewAIInc/crewAI
-
[BUG] OpenAI-compatible embedding model alias breaks embedder constructionForse già presa @gokay-ai l’ha presa 4 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
crewAIInc/crewAI#8761 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
[FEATURE] Add api_base_url to TavilySearchTool and TavilyExtractorToolForse già presa @jayfeng7 l’ha presa 6 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
crewAIInc/crewAI#8635 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
crewai-community feature-request vendor-pitch
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
I maintainer di solito rispondono entro 1 giorno
-
crewai-community vendor-pitch
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
-
vendor-pitch
Difficoltà 2/5 1-3 ore Idoneità per principianti 87/100
crewAIInc/crewAI#8271 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di crewAIInc/crewAI
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
huggingface/smolagents#3106 ·
I maintainer di solito rispondono entro 2 giorni
-
area:scripts area:tests bug priority:later
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
Ikalus1988/MisakaNet#4358 ·
I maintainer di solito rispondono entro 1 giorno
-
Discovered ports from service discovery are never propagated to modules in Module.load()Forse già presa @vishalmore90 l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
OWASP/Nettacker#1828 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
aws-samples/sample-per-model-bedrock#708 ·
I maintainer di solito rispondono entro 1 giorno
-
maintenance
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100