Вы правильно используете строки в качестве ключа. Вот отрывок из RFC 4627 - Тип приложения / json Media для нотации объектов JavaScript (JSON)
2.2. Объекты
Структура объекта представлена в виде пары фигурных скобок, окружающих ноль или несколько пар имен / значений (или членов). Имя - это строка. Каждое двоеточие появляется после каждого имени, отделяя имя от значения. Одна запятая отделяет значение от следующего имени. Имена внутри объекта СЛЕДУЕТ быть уникальными.
object = begin-object [ member *( value-separator member ) ] end-object
member = string name-separator value
[...]
2.5. Строки
Представление строк аналогично соглашениям, используемым в семействе языков программирования C. Строка начинается и заканчивается кавычками. [...]
string = quotation-mark *char quotation-mark
quotation-mark = %x22 ; "
Прочитайте весь RFC здесь .