Guides · Structure & safety

JS / Python / Go JSON

The same bytes become different in-memory values. Compare the actual JSON text in HiJSON, not language debug prints.

JavaScript

undefined and functions disappear in stringify. Integers above 2^53-1 lose precision. HiJSON’s tree is this semantics.

Python

json.dumps defaults to ensure_ascii=True (Chinese becomes \\u). repr(dict) is not JSON — it uses single quotes.

Go

Unexported fields are omitted. omitempty drops zero values, including false and 0. Numbers in interface{} decode as float64.