展开全部
首先你的 [{"key":"1"},{"key":"2"}] 是个 json 数组格式
如果62616964757a686964616fe4b893e5b19e31333361313937是简单的json 格式, 比如 "{\"key1\":\"1\",\"key2\":\"2\"}"
那么你可以使用 下面的示例:
public static void main(String[] args){
String jsonString = "{\"key1\":\"1\",\"key2\":\"2\"}";
//String str = "[{\"key1\":\"1\"},{\"key2\":\"2\"}]";
Map map = toMap(jsonString);
for (Map.Entry entry : map.entrySet()){
String key = entry.getKey();
Object value = entry.getValue();
System.out.println(key + ":" + value);
}
}
@SuppressWarnings("unchecked")
public static Map toMap(String json){
Map map = new HashMap();
JSONObject jsonObject = JSONObject.fromObject(json, new JsonConfig());
Iterator keys = jsonObject.keys();
while (keys.hasNext()){
String key = keys.next();
Object value = jsonObject.get(key);
map.put(key, (T) value);
}
return map;
}
执行结果:
你这种数组格式, 转成 map 那么 同名的key 会覆盖的....