本篇內容介紹了“java之json串轉Map實例分析”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
1.FastJSON方法
Fastjson是阿里巴巴封裝的,性能更快。
package com.zkn.newlearn.json;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import java.util.Map;
/**
* JSON字符串自動轉換
* Created by zkn on 2016/8/22.
*/
public class JsonToMapTest01 {
public static void main(String[] args){
String str = "{\"0\":\"zhangsan\",\"1\":\"lisi\",\"2\":\"wangwu\",\"3\":\"maliu\"}";
//第一種方式
Map maps = (Map)JSON.parse(str);
System.out.println("這個是用JSON類來解析JSON字符串!!!");
for (Object map : maps.entrySet()){
System.out.println(((Map.Entry)map).getKey()+" " + ((Map.Entry)map).getValue());
}
//第二種方式
Map mapTypes = JSON.parseObject(str);
System.out.println("這個是用JSON類的parseObject來解析JSON字符串!!!");
for (Object obj : mapTypes.keySet()){
System.out.println("key為:"+obj+"值為:"+mapTypes.get(obj));
}
//第三種方式
Map mapType = JSON.parseObject(str,Map.class);
System.out.println("這個是用JSON類,指定解析類型,來解析JSON字符串!!!");
for (Object obj : mapType.keySet()){
System.out.println("key為:"+obj+"值為:"+mapType.get(obj));
}
//第四種方式
/**
* JSONObject是Map接口的一個實現類
*/
Map json = (Map) JSONObject.parse(str);
System.out.println("這個是用JSONObject類的parse方法來解析JSON字符串!!!");
for (Object map : json.entrySet()){
System.out.println(((Map.Entry)map).getKey()+" "+((Map.Entry)map).getValue());
}
//第五種方式
/**
* JSONObject是Map接口的一個實現類
*/
JSONObject jsonObject = JSONObject.parseObject(str);
System.out.println("這個是用JSONObject的parseObject方法來解析JSON字符串!!!");
for (Object map : json.entrySet()){
System.out.println(((Map.Entry)map).getKey()+" "+((Map.Entry)map).getValue());
}
//第六種方式
/**
* JSONObject是Map接口的一個實現類
*/
Map mapObj = JSONObject.parseObject(str,Map.class);
System.out.println("這個是用JSONObject的parseObject方法并執行返回類型來解析JSON字符串!!!");
for (Object map: json.entrySet()){
System.out.println(((Map.Entry)map).getKey()+" "+((Map.Entry)map).getValue());
}
String strArr = "{{\"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實例分析”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。