java taglib json从数组创建对象
我在jsp项目中使用json标记库。目前,我正在使用以下代码构建json对象:
<json:object prettyPrint="true">
<json:array name="categories" var="cat" items="${categories}">
<json:object>
<json:property name="id" value="${cat.getId()}" />
<json:array name="languages" var="lang" items="${cat.getCategorieslanguageses()}">
<json:object>
<json:property name="${lang.getLanguages().getShortname()}" value="${lang.getValue()}" />
</json:object>
</json:array>
</json:object>
</json:array>
</json:object>
getCategorieslanguageses()返回一个语言数组。 此代码提供以下输出:
{"categories": [
{
"id": 3,
"languages": [
{"nl": "Vlees"},
{"eng": "Meat"}
]
},
{
"id": 2,
"languages": [
{"eng": "Fish"},
{"nl": "Vis"}
]
}
]}
因此,这段代码非常有效,但我更喜欢的输出是:
{
"categories": [
{
"id": 2,
"languages": [
{
"nl": "Vis",
"eng": "Fish"
}
]
},
{
"id": 3,
"languages": [
{
"eng": "Meat",
"nl": "Vlees"
}
]
}
]
}
有人能帮我用taglib json创建这个输出吗? 多谢各位
# 1 楼答案
很少有办法做到这一点
在每个
json:object
或json:array
设置prettyPrint="true"
通过将页面、请求、会话或应用程序属性
atg.taglib.json.prettyPrint
设置为true或false通过在web应用的web中设置上下文参数。xml文件
http://json-taglib.sourceforge.net/tutorial.html
编辑:一开始我以为你在想输出的格式
对此的解释是,有一个名为
languages
的数组,在这个数组中包含两个对象,第一个对象有一个名为eng
的属性,值为Fish
。第二个对象有一个名为n1
的属性,其值为Fish
对此的解释是,有一个名为
languages
的数组,该数组中只包含一个对象。该对象有两个属性,一个名为eng
,值为Meat
,另一个名为n1
,值为Vlees
只是好奇,不是吗
是