我正在使用renderJSON()方法返回对象数组,并对每个元素的类使用自定义JsonSerializer。响应具有以下格式:
[{"id":2,"name":"fred"},{...},...]
但我想在数组开头添加数组的名称:
"arrayname":[{"id":2,"name":"fred"},{...},...]
如何使用renderJSON()将对象的名称添加到JSON响应中?我应该使用模板还是可以用Java代码完成模板?
最佳答案
"arrayname":[{"id":2,"name":"fred"},{...},...]
看起来像无效的Json,但是如果将数组包装在一个对象中,则可能得到:
{"arrayname":[{"id":2,"name":"fred"},{...},...]}
例如。像这样的东西:
public class MyArrayWrapper {
public final User[] arrayname;
public MyArrayWrapper(User[] arrayname) {
this.arrayname = arrayname;
}
}
然后,您可以调用
renderJSON(new MyArrayWrapper(yourUserArray));
来获取JSON,例如:{"arrayname":[{"id":2,"name":"fred"},{...},...]}