java 怎样将这个字符串转换成map-CSDN论坛

大神们,打扰一下,java 怎样将这个字符串转换成map-CSDN论坛
最新回答
静听忧伤

2025-03-02 03:21:52

在Java中,将字符串转换成Map,首先需要确认你的字符串是否为json格式。如果是json格式,推荐使用Gson或者json-lib这两个库来解析。使用Gson更为简便,只需导入一个Gson.jar包即可。然而,当使用Gson解析到int类型或自动转成double类型时,需要定义一个精确的类来解析,不能直接使用Object。例如:

java
Gson gson = new Gson();
Map map = new HashMap();
map = gson.fromJson(str, map.getClass());

若选择使用json-lib,需要导入更多的包,包括commons-lang.jar、ezmorph-1.0.4.jar、commons-logging-1.1.1.jar、commons-collections.jar、commons-beanutils.jar这五个包。解析示例如下:

java
JSONObject jb = JSONObject.fromObject(str);
Map map = (Map)jb;

如果字符串不是json格式,就需要手动将字符串分割,例如:

java
String str = "color:red|font:yahei|width:800|height:300";
String[] strs = str.split("\\|");
Map m = new HashMap();
for(String s : strs){
String[] ms = s.split(":");
m.put(ms[0], ms[1]);
}

这样,你就可以成功将字符串转换为Map格式了。