У меня есть большой иерархический набор данных в хранилище данных App Engine. Иерархия сохраняется за счет хранения данных в Entity группах, так что я могу тянуть целое дерево, просто зная, верхний ключ элемента, как так:Иерархические данные, выводимые из хранилища данных App Engine для JSON?
query = db.Query().ancestor(db.get(key))
Вопрос: Как я теперь вывести эту информацию в качестве JSON и сохранить иерархию?
У Google есть класс утилиты под названием GqlEncoder, который добавляет поддержку результатов запроса хранилища данных к simplejson, но в основном сглаживает данные, разрушая иерархию.
Любые предложения?
Это проблема «родительского» и допускающая это как иерархию. Я мог бы изменить существующую библиотеку, но я решил, что сначала проверю, есть ли библиотека, которая уже поддерживала ее. – Christian
@ Христиан, хорошее мышление, но я не знаю об одном. Я предлагаю вам извлечь этот 'list (obj)' использование в отдельный метод, чтобы базовый класс мог иметь неизменную функциональность, и подкласс может переопределить этот метод и выполнить требуемую дополнительную обработку (я предполагаю, что вам нужен вложенный список списков ?) при повторном использовании 99% функциональности базового класса - такой патч может быть принят в части с открытым исходным кодом движка приложения, и тогда вам не придется поддерживать его в будущем. –