我试图将JSON对象发送到我的免费标记,但在测试JUnit 时出错
这是我的目标
{
"filename": "test",
"orderId": "123435",
"orderDate": "23.09.2020г.",
"itemsCount": "4",
"items": [
{
"itemName": "ТВ Приставка 400",
"itemCount": "2 шт Х 400₽",
"itemSum": "800.00"
}
],
"totalSumm": "3000.00"
}
这是我的错误:
FreeMarker template error:
The value you try to list is an extended_hash+string (org.camunda.bpm.engine.impl.util.json.JSONArray wrapped into f.e.b.StringModel), thus you must specify two loop variables after the "as"; one for the key, and another for the value, like <#... as k, v>).
我该如何解决?
items是JSON对象的数组
FreeMarker对org.camunda.bpm.engine.impl.util.json.JSONArray
一无所知,因此它不将其视为类似列表的东西(如FTL中所称的序列(。所以你可以做其中一个:
-
使用
objectWrapper
Configuration
设置,可以教FreeMarker如何将JSONArray
视为列表。(您可以在其他地方找到更多关于自定义ObjectWrapper
-s的信息。(然后,您可以只#list
这样的对象,并使用适用于序列的所有其他操作。 -
或者,您可以从模板中调用
JSONArray
的Java API-s。这当然不太方便,但不需要事先投资。