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.Unmarshal function failed to populate the struct fields because the struct field names were unexported (lowercase), and the json package requires exported fields (uppercase) to match JSON keys.
The fix: Change the struct field names to be exported by capitalizing them and add json tags to specify the JSON keys.
Remember: In Go, only exported struct fields (starting with an uppercase letter) can be unmarshalled from JSON.
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/4b457610-8936-4736-8c9b-eedb17f5ae5e" title="Debugging challenge: JSON Unmarshal fails to populate struct fields silently" 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/4b457610-8936-4736-8c9b-eedb17f5ae5e">TryBugHunt</a></p>