我正在使用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"},{...},...]}

10-06 12:09