net.sf.ezmorph.bean.MorphDynaBean cannot be cast to java.util.Map

时间:2023-03-08 23:51:41
net.sf.ezmorph.bean.MorphDynaBean cannot be cast to java.util.Map
public static void main(String[] arg0) {
String reString = "{"
+ "\"code\": 100, \"msg\": \"\", \"data\": { \"rows\": [{ \"item\": \"小型车辆\", \"value\": \"100\" },{ \"item\": \"大型车辆\", \"value\": \"200\" }] }"
+ "}";
JSONObject obj = JSONObject.fromObject(reString);
JSONArray jsonArray = obj.getJSONObject("data").getJSONArray("rows");
System.out.println(jsonArray.toString());
/**
* 错误例子:
* List<Map<String, String>> mapListJson = JSONArray.toList(jsonArray);
* 会报标题上的错
*/
List<Map<String, Object>> mapListJson = (List<Map<String, Object>>) JSONArray.toList(jsonArray, Map.class);
Integer value = 0;
for (Map<String, Object> m : mapListJson) {
value += Integer.parseInt(m.get("value") == null ? "0" : m.get("value").toString());
} System.out.println(value);
}