Mustache.js и YQL jSON - PullRequest
       7

Mustache.js и YQL jSON

1 голос
/ 11 марта 2011

Я не совсем уверен, как получить данные из этого вложенного объекта с помощью Mustache.js. Я использую мультизапрос YQL, который возвращает мои объекты данных, вложенные https://gist.github.com/866247. Моя проблема возникает, когда я пытаюсь получить доступ к вложенным объектам

Данные возвращаются примерно так, где 0 и 1 являются частью массива с объектами в них. Вот изображение дерева http://cl.ly/1e1b3O3U233e2I0d3g2f.

   query
       results
          results
               0
               1

Я попробовал шаблон ниже и ничего не получил обратно. Я считаю, что проблема в том, что второй «ключ результатов» возвращается с массивом, а усы не знают, что делать.

   "{{#query}}
                {{#results}}
                    {{#results}}
                        {{#photo}}
                            {{farm}}
                        {{#photo}}
                    {{/results}}
                {{/results}}
            {{/query}}"

Если это кому-либо имеет смысл, как мне получить доступ к вложенным объектам в массиве, если для них нет ключа?

Ответы [ 2 ]

1 голос
/ 12 марта 2011

Я думаю, что вы должны сгладить ваши данные в более простом формате, чтобы написать шаблон, который имеет смысл, но вы можете быть достаточно близки к тому, что вы хотите, с этим как есть.

Единственная непреодолимая проблема, которую я увидел, заключалась в том, что «результаты» находятся внутри «результатов», что приводит к несоответствию закрытия тега. Выполнение чего-то подобного решает эту проблему:

 data.query.flattened = data.query.results.results;

Функциональный образец здесь .

Вы можете найти еще несколько усовых уловок в этой статье .

0 голосов
/ 12 марта 2011

Это один из типов проблем с усами, который пытается решить Handlebars - обход объектов в шаблоне:

http://handlebars.strobeapp.com/#paths

Где вы обращаетесь к нему напрямую, как будто этоструктура каталогов.Я знаю, что это не ответ на ваш вопрос, как таковой, но кроме выравнивания данных, это альтернативное решение.

...