日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

java之json串如何转Map

發布時間:2023/12/19 综合教程 33 生活家
生活随笔 收集整理的這篇文章主要介紹了 java之json串如何转Map 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這篇“java之json串如何轉Map”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“java之json串如何轉Map”文章吧。

1.FastJSON方法

Fastjson是阿里巴巴封裝的,性能更快。

packagecom.zkn.newlearn.json;

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);
}
}

2.Collectors.toMap

json字符串其實總得來說就是一個key-value的形式,應該是滿足了最終想要的Map<String, List<Unit>>的結構了,所以直接一個Collectors.toMap就搞定了。

Map<String,List<Unit>>result=JSONObject.parseObject(s)
.entrySet().stream()
.collect(Collectors.toMap(Map.Entry::getKey,entry->JSONObject.parseArray(String.valueOf(entry.getValue()),Unit.class)));

注意s就是你那個json字符串。

總結

以上是生活随笔為你收集整理的java之json串如何转Map的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。