Ответ
Согласно официальной спецификации RFC 8259, ключом в объекте JSON может быть только строка (string), заключённая в двойные кавычки (").
✅ Валидный JSON:
{
"username": "alice",
"age": 30,
"is_active": true
}
❌ Недопустимые ключи (нарушают спецификацию):
- Числа:
{ 42: "answer" } - Булевы значения:
{ true: "yes" } null:{ null: "empty" }- Объекты или массивы:
{ {"key": "sub"}: "value" }
Важное замечание: Некоторые языки (например, JavaScript) при парсинге JSON могут неявно приводить неквотированные ключи к строкам, но это поведение нестандартно. Для гарантированной совместимости всегда используйте строки в двойных кавычках.
// JavaScript может «простить» отсутствие кавычек, но это не валидный JSON
const obj = { key: "value" }; // Это объект JS, а не JSON-строка
const jsonString = JSON.stringify(obj); // Преобразуется в '{"key":"value"}'