json字符串转map。
public static Map<String,Object> parsePlcyInfo(String plcyInfo) throws Exception {
Map<String,Object> component = new HashMap<String,Object>();
JSONObject plcyObject = JSONObject.parseObject(plcyInfo);
for(String key : plcyObject.keySet()) {
if(plcyObject.get(key) instanceof String) { //判断value类型 将String类型放入map
component.put(key, plcyObject.get(key));
}else if(plcyObject.get(key) instanceof JSONObject) { //判断value类型 将JSONObject类型放入map
Map<String,String> componentEleMap = new HashMap<String,String>();
JSONObject componentElements = (JSONObject)plcyObject.get(key);
for(String elkey : componentElements.keySet()) {
componentEleMap.put(elkey, componentElements.getString(elkey));
}
component.put(key, componentEleMap);
}else if(plcyObject.get(key) instanceof JSONArray) { //判断value类型 将JSONArray类型放入map
JSONArray componentArr = (JSONArray)plcyObject.get(key);
List<Map<String,Object>> componentList = new ArrayList<Map<String,Object>>();
for(int j = 0, arrsize = componentArr.size(); j < arrsize; j++) {
Map<String,Object> componentEleMap = new HashMap<String,Object>();
JSONObject componentElements = componentArr.getJSONObject(j);
for(String elkey : componentElements.keySet()) {
Object value = componentElements.get(elkey);
if(value instanceof String || value instanceof Boolean) {
componentEleMap.put(elkey, value.toString());
}else if(value instanceof JSONObject) {
JSONObject cvrgElement = (JSONObject)value;
Map<String,String> cvrgElementMap = new HashMap<String,String>();
for(String cvrgkey : cvrgElement.keySet()) {
cvrgElementMap.put(cvrgkey, cvrgElement.getString(cvrgkey));
}
componentEleMap.put(elkey, cvrgElementMap);
}else{
componentEleMap.put(elkey, value);
}
}
componentList.add(componentEleMap);
}
component.put(key, componentList);
}else{
component.put(key, plcyObject.get(key));
}
}
return component;
}
json字符串转map
最新推荐文章于 2024-08-23 16:41:28 发布