Struts2 JSON 对于 jQuery-ui 自动完成的序列化问题

Serialization issue with Struts2 JSON for jQuery-ui auto-complete

我正在尝试使用 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 自动完成格式?

该操作有一个 AutoCompleteJqueryBean 数组 public getters/setters。

Struts2 JSON 插件正在序列化您的整个操作。

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

<result type="json">
    <param name="root">sponsors</param>
</result>