1

我正在尝试使用 Struts2 JSON 插件为 jQuery-ui 自动完成 AJAX 调用序列化 JSON。格式来自:jQueryUI Docs

具有标签和值属性的对象数组:

 [ { label: "Choice1", value: "value1" }, ... ]

我有这个 POJO:

public class AutoCompleteJqueryBean {

    private Long value;
    private String label;


    public Long getValue() {
        return value;
    }

    public void setValue(Long value) {
        this.value = value;
    }

    public String getLabel() {
        return label;
    }

    public void setLabel(String label) {
        this.label = label;
    }

    public AutoCompleteJqueryBean(String label, Long value){
        this.label = label;
        this.value = value;
    }
}

这是序列化到这个 JSON:

{"sponsors":[{"label":{"label":"A Duplicate"},"value":{"value":410}},{"label":{"label":"A Duplicate 2"},"value":{"value":319}},{"label":{"label":"A Duplicate 3"},"value":{"value":128}},{"label":{"label":"A Duplicate 4"},"value":{"value":191}}]}

我也试过地图无济于事。如何强制使用 jQuery 自动完成格式?

该操作有一个带有公共 getter/setter 的 AutoCompleteJqueryBean 数组。

4

1 回答 1

2

Struts2 JSON 插件正在序列化你的整个动作。

如果sponsors是一个List<AutoCompleteJqueryBean>(或其他类型的数组或集合)并且您想防止在结果中返回它,则需要在配置中将其设置为根对象:

<result type="json">
    <param name="root">sponsors</param>
</result>
于 2016-01-04T20:36:00.030 回答