Time: 0:00
Test a custom input to verify an edge case (e.g. empty lists, negative numbers, duplicates).
This bug belongs to the type errors pattern
Totals that concatenate, sorts that put 10 before 9, comparisons that refuse to run.
What went wrong: The JSON specification mandates that object keys are always strings. json.loads() produces string keys, so looking up an integer key raises KeyError.
The fix: Cast user_id to a string when accessing the dictionary: data[str(user_id)]
Remember: In Python, json.loads() always converts dictionary keys into strings.
The pattern behind it: type errors.
Paste this into any web page or blog post. Visitors fix the bug right there, in their browser.
<iframe src="https://trybughunt.com/embed/a5b5137b-5ccd-4525-9260-9ed770ade02b" title="Debugging challenge: Looking up integer user ID in loaded JSON raises KeyError" width="100%" height="580" loading="lazy" style="border:1px solid #d4d4d8;border-radius:12px;max-width:760px"></iframe>
<p style="font-size:14px">Debugging challenge from <a href="https://trybughunt.com/challenges/a5b5137b-5ccd-4525-9260-9ed770ade02b">TryBugHunt</a></p>