Spring 3 ArrayList 使用 Jackson 序列化为 JSON,无需包装到对象(无名称)

发布于 2024-11-26 07:57:26 字数 761 浏览 0 评论 0原文

我有一个应该返回 JSON 数组的简单资源,但它返回的是数组中的对象:

@RequestMapping(value = "/types", method = RequestMethod.GET)
    public List <JsonObject> types() {
        ArrayList <JsonObject> list=new ArrayList<JsonObject>();
        list.add(new JsonObject("Audi"));
        list.add(new JsonObject("Mercedes"));
        return list;
    }

其中 JsonObject 是具有三个字符串属性(值、id、标签)的简单类。

返回:

{"jsonObjectList":[{"value":"Audi","id":"Audi","label":"Audi"},{"value":"Mercedes","id":"Mercedes","label":"Mercedes"}]}

但我需要什么(因为它是 Jquery UI 自动完成预期的):

[{"value":"Audi","id":"Audi","label":"Audi"},{"value":"Mercedes","id":"Mercedes","label":"Mercedes"}]

如何实现? 提前致谢。

I have simple resource which should return JSON array, but it returns object in which is array:

@RequestMapping(value = "/types", method = RequestMethod.GET)
    public List <JsonObject> types() {
        ArrayList <JsonObject> list=new ArrayList<JsonObject>();
        list.add(new JsonObject("Audi"));
        list.add(new JsonObject("Mercedes"));
        return list;
    }

Where JsonObject is simple class with three String atributes (value,id,label).

Returns:

{"jsonObjectList":[{"value":"Audi","id":"Audi","label":"Audi"},{"value":"Mercedes","id":"Mercedes","label":"Mercedes"}]}

But I what I need (because it's Jquery UI autocomplete expected):

[{"value":"Audi","id":"Audi","label":"Audi"},{"value":"Mercedes","id":"Mercedes","label":"Mercedes"}]

How to achieve that?
Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

怪我太投入 2024-12-03 07:57:26

在 Spring 3.1 中,您应该能够在名为 extractValueFromSingleKeyModel 更改为 true 以删除包装器。

哦,似乎之前已经问过这个问题 为什么 Jackson 用一个以类命名的额外层来包装我的对象?

In Spring 3.1, you should be able to set a property on the MappingJacksonJsonView bean called extractValueFromSingleKeyModel to true to remove the wrapper.

Oh, seems like this has been asked before Why is Jackson wrapping my objects with an extra layer named after the class?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文