Итерировать по JSON - PullRequest
0 голосов
/ 24 мая 2018

У меня возникают проблемы при переборе объекта JSON из ответа REST API.

Этот код я использую:

<#assign row=table_subject.rows[0]>

<#if row?is_sequence>
  <#list row as c>
    ${c}
  </#list>
<#elseif row?is_hash_ex>
  <#list row?keys as key>
        <#list row[key] as rk>
          <#list rk?keys as rkk>
            ${key} - ${rkk}
          </#list>
        </#list>
  </#list>
<#elseif row?is_string>
  ${row}
</#if>

For "#список "источник списка: ожидаемая последовательность или коллекция, но она имеет число (обертка: ftSimpleNumber): ==> строка [ключ] ... ---- трассировка стека FTL (" ~ "означает связанное с вложением): - Ошибка: #list row [key] as rk Достигнута через ...

Есть предложения?

1 Ответ

0 голосов
/ 24 мая 2018

row[key] дает значение из пары ключ-значение, поэтому оно не (или не обязательно) отображается в списке.Вам также не нужны два элемента #list, вложенных друг в друга: у вас уже есть ключ (key) и значение (row[key]).Но есть лучший способ перечислить хэш (начиная с FreeMarker 2.3.25):

<#list row as key, value>
   ${key} - ${value}
</#list>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...