Извлечение вложенного объекта json из json в freemarker - PullRequest
0 голосов
/ 28 апреля 2019
<#assign test='{ "apple": 5, "banana": {"kiwi": 15 }}'?eval>

Мне нужно извлечь объект банана, пробовал, как показано ниже, но выдает ошибку.

${test.banana}

Ошибка Для содержимого "$ {...}": ожидается строка или что-то автоматически конвертируемое в строку (число, дата или логическое значение) или "вывод шаблона", но это оценивается как

extended_hash (wrapper: f.c.HashLiteral$SequenceHash):
==> test.banana  [in nameless template at line 2, column 3]

FTL stack trace ("~" means nesting-related):
    - Failed at: ${test.banana}  [in nameless template at line 2, colum

1 Ответ

0 голосов
/ 29 апреля 2019

Это способы, которыми вы можете получить доступ. Входные

    <#assign test = { "apple": "5", "banana": {"kiwi": 15 }} >

Directly access your key and display the value. (if you know the key)

    ${test.banana.kiwi}

Dynamically list the keys

    <#list test.banana?keys as k>
    ${k}
    </#list>

Dynamically list the values

    <#list test.banana?values as v>
    ${v}
    </#list>

Dynamically list the keys and values

    <#list test.banana as k,v >
    ${k}: ${v}
    </#list>

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

Ссылка: https://freemarker.apache.org/docs/ref_builtins_hash.html и https://freemarker.apache.org/docs/ref_directive_list.html#ref.directive.list

Протестировано в https://try.freemarker.apache.org/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...