2

服务器层将返回一个字符串值列表,如

{"Bob", "Charlotte", "Johnson", "David"...}

现在我们需要 List String 是一个 Json 对象来推送到前端,比如

[{id: "Bob"}, {id: "Charlotte"}, {id: "Johnson"}, {id: "David"...}]

或者

[{name: "Bob"}, {name: "Charlotte"}, {name: "Johnson"}, {name: "David"...}]

任何标签都可以,我们只需要一个标签即可将其设为 JSON 对象。默认情况下,杰克逊是否有东西可以转换字符串列表i.e. {string: "Bob"}?那真的会很甜蜜......

4

2 回答 2

7

最简单的方法是让您的控制器方法返回一个精确映射到您想要的 JSON 的结构 - 例如List<SomeObject>whereSomeObject是一个带有String id字段的类。

于 2013-05-15T01:33:06.517 回答
1

这样做的方法是将您的字符串列表转换为新地图。

代码 :

@ResponseBody
@RequestMapping("/mapping")
function mySpring()
{


            List<String> myStringList;
            Map<String,String> jsonMap= new LinkedHashMap<String,String>(); 
     // Use LinkedHashMap if you want to maintain order


    String key="id";        
     // Id or Name

            for (String myString: myStringList)
        {
        jsonMap.put(key,myString);

        }

return jsonMap;

}
于 2013-05-18T12:05:45.053 回答