nesting of 101 is too deep
This message comes from Ruby JSON.parse on Ruby 3.2.3. In this registry it is produced by 1 distinct mistake. Positions in the real message vary with your input; the causes do not.
Causes
What produces this message
Deeply nested JSON exceeding a parser's depth limit
Input
[[[[ … 1000 levels … ]]]]Exact message: nesting of 101 is too deep
Fix: Flatten the structure. If the depth is legitimate, use a streaming or iterative parser rather than raising the recursion limit.
Same bug, other languages
What other parsers say about the same input
If a colleague reports a different message for what looks like the same file, this is why.
| Parser | Message for the same inputs |
|---|---|
| JSON::PP | json text or perl structure exceeds maximum nesting level (max_depth set too low?), at character offset N (before "…") |
| Newtonsoft.Json JsonConvert | The reader's MaxDepth of 64 has been exceeded. Path '[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0]', line L, position N. |
| Newtonsoft.Json JsonTextReader | The reader's MaxDepth of 64 has been exceeded. Path '[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0]', line L, position N. |
| System.Text.Json Deserialize | The maximum configured depth of 64 has been exceeded. Cannot read next JSON array. Path: $ | LineNumber: L | BytePositionInLine: C. |
| System.Text.Json JsonDocument | The maximum configured depth of 64 has been exceeded. Cannot read next JSON array. LineNumber: L | BytePositionInLine: C. |
| json_decode | Maximum stack depth exceeded |
| serde_json::from_str | recursion limit exceeded at line L column C |
Sources
Standards this registry is checked against
- RFC 8259 (STD 90) — The JavaScript Object Notation (JSON) Data Interchange Format, T. Bray, Ed., 2017. The IETF Internet Standard for JSON. Obsoletes RFC 7159 and RFC 4627.
- ECMA-404, 2nd edition — The JSON Data Interchange Syntax, Ecma International, 2017. Ecma’s grammar for JSON. A normative reference of RFC 8259; the two define the same syntax.
- The Unicode Standard — The Unicode Standard, Core Specification, The Unicode Consortium, current. Normatively referenced by RFC 8259 for the definition of a character.
- IEEE 754-2019 — IEEE Standard for Floating-Point Arithmetic, IEEE, 2019. Referenced by RFC 8259 §6 as the basis for its interoperability guidance on numbers.
Only standards bodies and peer-reviewed venues are cited. Error strings on this site are observed by executing each parser; the standards above define what the parser is reacting to.