public static void main(String[] args) throws Exception {
String str="[{/name/:/Yes/,/pid/:/1107f9078bbf9a94/,/xid/:0},{/name/:/No/,/pid/:/1107f9078bbf9a94/,/xid/:1}]";
str=str.replace("/", "\"");
System.out.println(str);
List<Map<String,Object>> list=getStringToList(str);
System.out.println(list);
}
public static List<Map<String,Object>> getStringToList(String itemsjson) throws Exception{
List<Map<String,Object>> list=new ArrayList<Map<String,Object>>();
if(itemsjson!=null&&!itemsjson.equals("")){
itemsjson=itemsjson.substring(1, itemsjson.length()-2);
String[] jsons=itemsjson.split("},");
for(int i=0;i<jsons.length;i++){
String json=jsons[i]+"}";
Map<String,Object> map=jsonToMap(json);
list.add(map);
}
}else{
Map<String,Object> map1=new HashMap<String,Object>();
map1.put("name", "");
map1.put("xid", 0);
Map<String,Object> map2=new HashMap<String,Object>();
map2.put("name", "");
map2.put("xid", 1);
list.add(map1);
list.add(map2);
}
return list;
}
public static Map<String,Object> jsonToMap(String str) throws Exception{
if(str==null||str.equals("")){
Map map=new HashMap<String,Object>();
return map;
}
Gson gson=new Gson();
Map<String, Object> map = new HashMap<String, Object>();
map = gson.fromJson(str, map.getClass());
return map;
}
String 转 list
最新推荐文章于 2024-04-12 06:02:32 发布
本文介绍了一段Java代码,该代码演示了如何将JSON字符串解析并转换为List<Map<String, Object>>格式。首先通过替换特殊字符来预处理JSON字符串,然后使用Gson库将字符串转换成Java对象。此外,还提供了当输入为空时返回默认值的方法。
开发板推荐:天空星STM32F407VET6开发板
超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印
开发板推荐:天空星STM32F407VET6开发板
超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印
6008

被折叠的 条评论
为什么被折叠?



