简体   繁体   English

如何转换ArrayList <String> 在Spring @ResponseBody中使用Jackson的JSON对象

[英]How to convert ArrayList<String> to JSON object using Jackson in Spring @ResponseBody

Server layer will return a list of String value, like 服务器层将返回一个String值列表,如

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

Now we need the List String to be a Json object to push to front end, like 现在我们需要List String作为Json对象来推送到前端,比如

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

or 要么

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

Any label is fine, we just need a label to make it as JSON object. 任何标签都没问题,我们只需要一个标签就可以将它作为JSON对象。 Does Jackson has something to convert List of String by default ie {string: "Bob"} ? 杰克逊是否有一些东西可以默认转换字符串列表, ie {string: "Bob"} That will be really sweet...... 真的很可爱......

最简单的方法是让你的控制器方法返回一个完全映射到你想要的JSON的结构 - 例如List<SomeObject> ,其中SomeObject是一个带有String id字段的类。

Th way of doing this is converting you List of String into a New Map. 这样做的方法是将String List转换为New Map。

Code : 代码:

@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;

}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM