@iBadCoder

Как обращаться к элементам json через точку?

Здравствуйте. Представим, что у нас есть JSON вида
{
    "foo": {
        "bar": "Value"
    }
}


Обращение к объекту bar выглядит как:
json_data['foo'] ['bar']

Скажите, можно ли сделать так, чтобы обращение к объекту выглядело как:

json_data['foo.bar']
  • Вопрос задан
  • 93 просмотра
Решения вопроса 1
xenon
@xenon
Too drunk to fsck
Вроде нет. Тем более, что JSON - это вообще строка, по индексу вы обращаетесь уже когда преобразовали его в словарь (dict).

Но два варианта:
1. Вы можете после преобразования "расплющить" словарь, сделать его плоским, преобразовав вложенные ключи в вид foo.bar.
2. Вы можете сделать свой класс (от dict), и переписать метод __getitem__(self, index)
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@bacon
1. нет, потому 'foo.bar' это отдельный ключ
2. а зачем?
Ответ написан
@mayton2019
Bigdata Engineer
Существует только один язык в котором объекты мапятся однозначно в JSON. Это javaScript.
Собсно слово JSOn от этого и происходит. А во всех других - будут какие-то LinkedHashMap
шаблонизирующиеся строкой как ключ и object как value.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы