String字符串 转 Map 工具 经常用的到的功能 如何做?
第一步 pom添加依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.60</version>
</dependency>
第二步 写个方法
import com.alibaba.fastjson.JSONObject;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
public class JsonToMapUtil {
public static Map<String, Object> jsonToMap(JSONObject jsonObject) {
Map<String, Object> result = new HashMap<String, Object>();
if (jsonObject != null) {
Set<String> keys = jsonObject.keySet();
for (String key : keys) {
Object value = jsonObject.get(key);
if (value != null) {
if (value instanceof JSONArray) {
result.put(key, jsonToMap((JSONObject) value));
} else if (value instanceof JSONObject) {
result.put(key, jsonToMap((JSONObject) value));
} else {
result.put(key, value);
}
}
}
}
return result;
}
public static List<Object> jsonToList(JSONArray jsonArray){
List<Object> list = new LinkedList<Object>();
if(jsonArray!=null){
for(int i=0;i<jsonArray.size();i++){
Object object = jsonArray.get(i);
if(object != null){
if(object instanceof JSONArray){
list.add(jsonToList((JSONArray) object));
}else if(object instanceof JSONObject){
list.add(jsonToMap((JSONObject) object));
}else{
list.add(object);
}
}
}
}
return list;
}
}
写个main 方法测试下
public static void main(String[] args) {
String str = " {\"accountId\": \"" + "123456" + "\",\"value\": " + "88" + ",\"orderId\":\"" + "9999"
+ "\",\"userName\":\"" + "0000" + "\", \"args\":" + "0" + "}";
JSONObject object = JSON.parseObject(str);
Map<String, Object> map = jsonToMap(object);
System.out.println(map);
}
运行结果如下,搞定