#java #freemarker
Вопрос:
Я хочу отобразить ниже поля json-файла рынок и субрынок в файле FTL, но когда я пытаюсь выполнить код ниже, он не отображается, может ли кто-нибудь помочь мне, пожалуйста?.Я не могу нанести его на карту с 2 дней
JSONRequest
{
"ProcessOrderRequest": {
"prevalidationMode": false,
"hbomaxCart": {
"lobType": "HBOMAX",
"losgs": {
"losg_hbomax_1": {
"productCategory": "HBOMAX",
"market":"ABC",
"subMarket":"something"
"lineItems": {
"LINE_ITEM_00": {
"productType": "PRODUCT",
"billingCode": "BASE-DUMMY-201912",
"quantity": 1
},
"LINE_ITEM_01": {
"productType": "PRODUCT",
"billingCode": "BOLT-UNLHBOMAX-201912",
"quantity": 1,
"promotionReferences": [
"PROMO_ID_1"
]
}
}
}
}
}
}
}
.сверхсветовая скорость
<#if pojo.hbomaxCart??>
"data":
{
<#list pojo.hbomaxCart.losgs as key, value>
"market" = ${value.market}
</#list>
},
</#if>
Комментарии:
1. Вы не сказали, что вы подразумеваете под «не отображением» или чего вы хотите достичь.
Ответ №1:
Вам нужно правильно получить доступ к переменной, используя весь ее путь.
<#if pojo.hbomaxCart.losgs.losg_hbomax_1.market??>
"market": "${pojo.hbomaxCart.losgs.losg_hbomax_1.market}",
</#if>
Кроме того, вы можете назначить содержимое переменной для облегчения доступа.
<#assign varname = pojo.hbomaxCart.losgs.losg_hbomax_1>
"market": "${varname.market}",
Комментарии:
1. <#если pojo.hbomaxCart??> «данные»: { <#если pojo.hbomaxCart.losgs.losg_hbomax_1.рынок??> «рынок»: «${pojo.hbomaxCart.losgs.losg_hbomax_1.рынок}», </#если> }, </#если></#если>
2. Привет @Rohit я использовал приведенный выше код, но он все еще не отображается
3. losg_hbomax_1 на самом деле является ключевым противником карты, которую мы не можем жестко закодировать как pojo.hbomaxCart.losgs.losg_hbomax_1
4. @Krish Если ключ динамический, то это похоже
pojo.hbomaxCart.losgs[variableThatStoresTheActualKey].market
.