Ich bin ziemlich neu in FTL, also kann dies eine dumme Frage sein, aber ich hatte nicht Glück, es zu lösen.FTL - Wie bekomme ich Werte von JSON-Objekt richtig?
Ich habe ein JSON-Objekt:
{
"Q1": "KOŽENÝ VOLANT",
"Q5": "ZESÍLENÉ ZÁVĚSY KOL",
"Q6": "AIRBAG SPOLUJEZDCE",
"M3": "BOČNÍ OCHR - LIŠ MALÉ",
"Q7": "SERVOŘÍZENÍ ELEKTR",
"M4": "SP"
}
Und ich brauche diese Texte auf der rechten Seite zuzugreifen. Wie ich es tun:
<#function getModelOptions>
<#local results = []>
<#list case.vehicleData.modelOptions?keys as key>
<#local results = results+[case.vehicleData.modelOptions[key]]>
</#list>
<#return results>
</#function>
und danach so etwas wie:
<#assign dataVybavaVozidla = getModelOptions() >
<@input.draw2ColumnNoBorderTable nadpis="Výbava vozidla" data=dataVybavaVozidla />
Diese auf 90% der Fälle funktioniert für mich, aber es werfen mir nur einen Fehler in einigen:
> ---- FTL stack trace ("~" means nesting-related):
> - Failed at: #local results = results + [case.vehi... [in template "path/to/template.ftl" in function "getModelOptions" at line
> 1501, column 25]
> - Reached through: #assign dataVybavaVozidla = getModelO... [in template "path/to/template.ftl" at line 674, column 17]
> ----
Ich versuche, Daten in beiden Fällen zu vergleichen, wenn es funktioniert und wenn es nicht richtig funktioniert. Beide sehen gleich aus. Ich versuche auch nur
<#list case.vehicleData.modelOptions?keys as key>
<tr>${key}</tr>
</#list>
, die mich richtig meine Schlüssel angezeigt :(
EDIT: Atm es sieht aus wie (ich kann nicht bestätigen) ist, dass es einige Sonderzeichen wie &
sein kann und null
. in Text
kannst du nicht einfach 'case.vehicleData.modelO verwenden ptions? Werte'? – ddekany
Der Anfang der angegebenen Fehlermeldungen fehlt. Sie können den Schlüssel auch ausdrucken, wenn der Fehler auftritt, indem Sie '<#attempt> ... <#recover> ...#attempt>' verwenden, damit Sie nicht raten müssen. Anyway, FreeMarker interessiert sich nicht für '&' im Schlüssel. Es ist sicherlich ein "Null" irgendwo. – ddekany