无法在 ftl 文件中映射 jsonRequest 属性
Posted
技术标签:
【中文标题】无法在 ftl 文件中映射 jsonRequest 属性【英文标题】:Not able to map jsonRequest attributes in ftl file 【发布时间】:2021-10-15 16:03:01 【问题描述】:我想在 FTL 文件中的 json 文件市场和 subMarket 字段下方进行映射,但是当我尝试下面的代码时,它没有映射,有人可以帮我吗?我 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"
]
.ftl
<#if pojo.hbomaxCart??>
"data":
<#list pojo.hbomaxCart.losgs as key, value>
"market" = $value.market
</#list>
,
</#if>
【问题讨论】:
你没有说“不是映射”是什么意思,或者你想达到什么目的。 【参考方案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",
【讨论】:
"data": "market": "$pojo.hbomaxCart.losgs. losg_hbomax_1.market", #if> , #if> 嗨@Rohit,我用上面的代码仍然没有映射 losg_hbomax_1 实际上是地图的关键敌人,我们不能将其硬编码为 pojo.hbomaxCart.losgs.losg_hbomax_1 @Krish 如果密钥是动态的,那么它就像pojo.hbomaxCart.losgs[variableThatStoresTheActualKey].market
。以上是关于无法在 ftl 文件中映射 jsonRequest 属性的主要内容,如果未能解决你的问题,请参考以下文章
解决Volley中的JsonObjectRequest jsonRequest参数无法被服务端读取的问题