我有以下字符串:["LankaBell","BillDesk"]
如何使用json-lib-2.2.3-jdk15.jar\net\sf\json
库将其转换为Java列表对象?
编辑:如果不能使用此库,那么也欢迎使用其他库的解决方案。
答案 0 :(得分:5)
使用json-lib:
String source = "[\"LankaBell\",\"BillDesk\"]";
List<String> list = new ArrayList<>();
list = JSONArray.toList(JSONArray.fromObject(source), new Object(), new JsonConfig());
(实际上你只能使用JSONArray.toList(JSONArray.fromObject(source))
,但已弃用)
另一个不推荐使用的解决方案:
list = (List<String>) JSONArray.toCollection(JSONArray.fromObject(source))
答案 1 :(得分:2)
String input = "[\"LankaBell\",\"BillDesk\"]";
// net.sf.json.JSONArray
JSONArray jsonArray = JSONArray.fromObject(input);
List<String> list = new ArrayList<String>();
for (Object o : jsonArray) {
list.add((String) o);
}
log.debug(list);
答案 2 :(得分:1)
我强烈建议使用Jackson而不是json-lib。
List<String> list = new org.codehaus.jackson.map.ObjectMapper().readValue("[\"LankaBell\",\"BillDesk\"]", List.class);
答案 3 :(得分:0)
String string = "[\"LankaBell\",\"BillDesk\"]";
//Remove square brackets
string = string.substring(1, string.length()-1);
//Remove qutation marks
string.replaceAll("\"", "");
//turn into array
String[] array = string.split(",");
//Turn into list
List<String> list = Arrays.asList(array);
System.out.println(list);
答案 4 :(得分:0)
Object[] objs = "[\"Lankabell\", \"BillDesk\"]".replaceAll("\\[|\\]|\"","").split(",");