当前位置:首页 » 编程语言 » java转map

java转map

发布时间: 2023-06-11 02:25:58

java,list数组转换成map


importjava.util.ArrayList;
importjava.util.HashMap;
importjava.util.List;
importjava.util.Map;

publicclassTestArray{

publicstaticvoidmain(String[]args){
/**
*初始化一个List,存放String数组,数组的第一位是amount,第二位是year,第三位是month,第四位是day。
*/
List<String[]>arr=newArrayList<String[]>();
arr.add(newString[]{"89","2015","06","21"});
arr.add(newString[]{"89","2015","06","22"});
arr.add(newString[]{"89","2015","06","23"});

/**
*创建一个StringBuffer临时存放map.key。
*/
StringBufferkey=newStringBuffer();
/**
*建一个map对象,
*/
Map<String,String>map=newHashMap<String,String>();
for(inti=0;i<arr.size();i++){
//获取List中的String数组元素。
String[]element=arr.get(i);
//数组的第二位、第三位、第四位拼接成key。
key.append(element[1]).append(element[2]).append(element[3]);

//数组的第一位拼接成value,初始化map。
map.put(key.toString(),element[0]);

//临时的StringBuffer清空内容以便下次循环继续使用。
key.delete(0,key.length());
}

//打印map
System.out.println(map.toString());

}
}

输出效果:

Ⅱ java将 json数组转map

首先你的[{"key":"1"},{"key":"2"}] 是个 json 数组格式


如果是简单的json 格式, 比如"{"key1":"1","key2":"2"}"


那么你可以使用 下面的示例:


publicstaticvoidmain(String[]args){
StringjsonString="{"key1":"1","key2":"2"}";
//Stringstr="[{"key1":"1"},{"key2":"2"}]";
Map<String,Object>map=toMap(jsonString);
for(Map.Entry<String,Object>entry:map.entrySet()){
Stringkey=entry.getKey();
Objectvalue=entry.getValue();
System.out.println(key+":"+value);
}
}
@SuppressWarnings("unchecked")
publicstatic<T>Map<String,T>toMap(Stringjson){
Map<String,T>map=newHashMap<String,T>();
JSONObjectjsonObject=JSONObject.fromObject(json,newJsonConfig());
Iterator<String>keys=jsonObject.keys();
while(keys.hasNext()){
Stringkey=keys.next();
Objectvalue=jsonObject.get(key);
map.put(key,(T)value);
}
returnmap;
}


执行结果:




你这种数组格式, 转成 map 那么 同名的key 会覆盖的....

Ⅲ java在后台如何将前台传过来的json格式数据转换为map

  • importcom.alibaba.fastjson.JSON;

  • importcom.alibaba.fastjson.JSONObject;

  • importjava.util.Map;

  • /**

  • *JSON字符串自动转换

  • *Createdbyzknon2016/8/22.

  • */

  • publicclassJsonToMapTest01{

  • publicstaticvoidmain(String[]args){

  • Stringstr="{"0":"zhangsan","1":"lisi","2":"wangwu","3":"maliu"}";

  • //第一种方式

  • Mapmaps=(Map)JSON.parse(str);

  • System.out.println("这个是用JSON类来解析JSON字符串!!!");

  • for(Objectmap:maps.entrySet()){

  • System.out.println(((Map.Entry)map).getKey()+""+((Map.Entry)map).getValue());

  • }

  • //第二种方式

  • MapmapTypes=JSON.parseObject(str);

  • System.out.println("这个是用JSON类的parseObject来解析JSON字符串!!!");

  • for(Objectobj:mapTypes.keySet()){

  • System.out.println("key为:"+obj+"值为:"+mapTypes.get(obj));

  • }

  • //第三种方式

  • MapmapType=JSON.parseObject(str,Map.class);

  • System.out.println("这个是用JSON类,指定解析类型,来解析JSON字符串!!!");

  • for(Objectobj:mapType.keySet()){

  • System.out.println("key为:"+obj+"值为:"+mapType.get(obj));

  • }

  • //第四种方式

  • /**

  • *JSONObject是Map接口的一个实现类

  • */

  • Mapjson=(Map)JSONObject.parse(str);

  • System.out.println("这个是用JSONObject类的parse方法来解析JSON字符串!!!");

  • for(Objectmap:json.entrySet()){

  • System.out.println(((Map.Entry)map).getKey()+""+((Map.Entry)map).getValue());

  • }

  • //第五种方式

  • /**

  • *JSONObject是Map接口的一个实现类

  • */

  • JSONObjectjsonObject=JSONObject.parseObject(str);

  • System.out.println("这个是用JSONObject的parseObject方法来解析JSON字符串!!!");

  • for(Objectmap:json.entrySet()){

  • System.out.println(((Map.Entry)map).getKey()+""+((Map.Entry)map).getValue());

  • }

  • //第六种方式

  • /**

  • *JSONObject是Map接口的一个实现类

  • */

  • MapmapObj=JSONObject.parseObject(str,Map.class);

  • System.out.println("这个是用JSONObject的parseObject方法并执行返回类型来解析JSON字符串!!!");

  • for(Objectmap:json.entrySet()){

  • System.out.println(((Map.Entry)map).getKey()+""+((Map.Entry)map).getValue());

  • }

  • StringstrArr="{{"0":"zhangsan","1":"lisi","2":"wangwu","3":"maliu"},"+

  • "{"00":"zhangsan","11":"lisi","22":"wangwu","33":"maliu"}}";

  • //JSONArray.parse()

  • System.out.println(json);

  • }

  • }

热点内容
安卓手机相机出故障怎么办 发布:2025-05-16 06:47:11 浏览:455
华为如何给特定软件设置密码 发布:2025-05-16 06:44:09 浏览:467
内存和缓存的区别 发布:2025-05-16 06:42:42 浏览:187
配电车编程 发布:2025-05-16 06:41:22 浏览:370
安卓微信浅色模式怎么恢复 发布:2025-05-16 06:27:53 浏览:240
美嘉算法口诀 发布:2025-05-16 06:03:15 浏览:953
c程序编译连接 发布:2025-05-16 06:02:36 浏览:965
脚本魔兽 发布:2025-05-16 06:01:52 浏览:331
文件夹python 发布:2025-05-16 06:01:43 浏览:628
电脑我的世界服务器游戏币 发布:2025-05-16 05:27:25 浏览:491