{"record":{"id":"4f2ed5d6bed52122","repo":"OrchardCMS/OrchardCore","slug":"cannot-parse-number-dynamicjsonconverter","errorCode":null,"errorMessage":"Cannot parse number","messagePattern":"Cannot parse number","errorType":"exception","errorClass":"JsonException","httpStatus":null,"severity":"error","filePath":"src/OrchardCore/OrchardCore.Abstractions/Json/Serialization/DynamicJsonConverter.cs","lineNumber":48,"sourceCode":"                    return longObject;\n                }\n\n                if (reader.TryGetDecimal(out var decimalValue))\n                {\n                    return decimalValue;\n                }\n\n                if (JConvert.TryGetBigInteger(ref reader, out var bigInteger))\n                {\n                    return bigInteger;\n                }\n\n                if (reader.TryGetDouble(out var doubleObject))\n                {\n                    return doubleObject;\n                }\n\n                throw new JsonException(\"Cannot parse number\");\n\n            case JsonTokenType.StartArray:\n                var list = new List<object?>();\n                while (reader.Read())\n                {\n                    switch (reader.TokenType)\n                    {\n                        default:\n                            list.Add(Read(ref reader, typeof(object), options));\n                            break;\n                        case JsonTokenType.EndArray:\n                            return list;\n                    }\n                }\n\n                throw new JsonException(\"Cannot parse array.\");\n\n            case JsonTokenType.StartObject:","sourceCodeStart":30,"sourceCodeEnd":66,"githubUrl":"https://github.com/OrchardCMS/OrchardCore/blob/4306c0717fe573f6fca1b4955909ddab6a192807/src/OrchardCore/OrchardCore.Abstractions/Json/Serialization/DynamicJsonConverter.cs#L30-L66","documentation":"A JSON number token reached the Number case of DynamicJsonConverter.Read but every parser failed: TryGetInt64, TryGetDecimal, JConvert.TryGetBigInteger, and TryGetDouble all rejected the token. This is effectively unreachable for spec-compliant JSON numbers and signals a malformed or unsupported numeric literal in the payload.","triggerScenarios":"Thrown at src/OrchardCore/OrchardCore.Abstractions/Json/Serialization/DynamicJsonConverter.cs:48 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Validate the payload with a JSON linter to find the malformed number","Regenerate or fix the source producing the document so numbers conform to RFC 8259","Deserialize into a typed target (int/decimal/double) instead of object to get a clearer System.Text.Json error"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"4306c0717fe573f6fca1b4955909ddab6a192807","analyzedAt":"2026-09-13T17:41:05.024Z","contentChangedAt":"2026-09-13T17:41:05.024Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}