java将 json数组转map
例[{"key":"1"},{"key":"2"}]转换成一个map,map还是[{"key":"1"},{"key":"2"}]这个样子...
例[{"key":"1"},{"key":"2"}]转换成一个map,map还是[{"key":"1"},{"key":"2"}]这个样子
展开
1个回答
展开全部
首先你的 [{"key":"1"},{"key":"2"}] 是个 json 数组格式
如果是简单的json 格式, 比如 "{\"key1\":\"1\",\"key2\":\"2\"}"
那么你可以使用 下面的示例:
public static void main(String[] args){
String jsonString = "{\"key1\":\"1\",\"key2\":\"2\"}";
//String str = "[{\"key1\":\"1\"},{\"key2\":\"2\"}]";
Map<String, Object> map = toMap(jsonString);
for (Map.Entry<String, Object> entry : map.entrySet()){
String key = entry.getKey();
Object value = entry.getValue();
System.out.println(key + ":" + value);
}
}
@SuppressWarnings("unchecked")
public static <T> Map<String, T> toMap(String json){
Map<String, T> map = new HashMap<String, T>();
JSONObject jsonObject = JSONObject.fromObject(json, new JsonConfig());
Iterator<String> keys = jsonObject.keys();
while (keys.hasNext()){
String key = keys.next();
Object value = jsonObject.get(key);
map.put(key, (T) value);
}
return map;
}
执行结果:
你这种数组格式, 转成 map 那么 同名的key 会覆盖的....
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询