{"record":{"id":"782fec485debba45","repo":"Unity-Technologies/UnityCsReference","slug":"missing-dict-entry-delimiter-at","errorCode":null,"errorMessage":"Missing dict entry delimiter ':' at {}","messagePattern":"Missing dict entry delimiter ':' at (.+?)","errorType":"exception","errorClass":"JSONParseException","httpStatus":null,"severity":"error","filePath":"Editor/Mono/AssetStore/Json.cs","lineNumber":498,"sourceCode":"                }\n            }\n            Next();\n            return new JSONValue(arr);\n        }\n\n        private JSONValue ParseDict()\n        {\n            Next();\n            SkipWs();\n            Dictionary<string, JSONValue> dict = new Dictionary<string, JSONValue>();\n            while (cur != '}')\n            {\n                JSONValue key = ParseValue();\n                if (!key.IsString())\n                    throw new JSONParseException(\"Key not string type at \" + PosMsg());\n                SkipWs();\n                if (cur != ':')\n                    throw new JSONParseException(\"Missing dict entry delimiter ':' at \" + PosMsg());\n                Next();\n                dict.Add(key.AsString(), ParseValue());\n                SkipWs();\n                if (cur == ',')\n                {\n                    Next();\n                    SkipWs();\n                }\n            }\n            Next();\n            return new JSONValue(dict);\n        }\n\n        static readonly char[] endcodes = { '\\\\', '\"' };\n\n        private JSONValue ParseString()\n        {\n            string res = \"\";","sourceCodeStart":480,"sourceCodeEnd":516,"githubUrl":"https://github.com/Unity-Technologies/UnityCsReference/blob/225b0fbdb57cc17d094e8056b71f8314aba56f73/Editor/Mono/AssetStore/Json.cs#L480-L516","documentation":"After parsing a string key and skipping whitespace, ParseDict requires ':' to separate key from value; if the current char is not ':' it throws JSONParseException (\"Missing dict entry delimiter ':' at <pos>\"). This catches objects where the colon was omitted or replaced, e.g. {\"k\" \"v\"}.","triggerScenarios":"Object literal missing the colon between key and value; colon replaced by another separator; whitespace-only corruption between key and value.","commonSituations":"Hand-edited JSON; templating that dropped the colon; copy/paste artifacts.","solutions":["Ensure each key/value pair uses a colon: \"key\": value.","Generate JSON with a serializer instead of editing by hand.","Validate with a strict parser before runtime use."],"exampleFix":"// before\n// { \"width\" 100 }\n\n// after\n// { \"width\": 100 }","handlingStrategy":"validation","validationCode":"// Ensure every object key is followed by ':' and a value.\n// Best enforced by generating JSON with a serializer.","typeGuard":null,"tryCatchPattern":"try { v = JSON.Parse(json); }\ncatch (JSONParseException ex) { /* position points at where ':' was expected */ throw; }","preventionTips":["Use a real serializer to emit JSON.","Validate hand-written JSON in a strict parser before runtime.","Treat a missing-colon error as a generation bug, not a runtime condition."],"tags":["json","parse","malformed-input","schema","asset-store","unity"],"backgroundTag":null,"analyzedSha":"225b0fbdb57cc17d094e8056b71f8314aba56f73","analyzedAt":"2026-08-13T19:07:19.849Z","schemaVersion":2},"datasetVersion":"2026-08-13T19:17:28.613Z"}