須要導入alibaba.fastJson
maven中的依賴爲java
<!-- https://mvnrepository.com/artifact/com.alibaba/fastjson --> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.47</version> </dependency>
導入以後就能夠愉快滴使用 了。
例子以下apache
package test; import java.util.HashMap; import java.util.Map; import org.apache.commons.collections.map.HashedMap; import com.alibaba.fastjson.JSON; public class JsonTest { public static void main(String[] args){ String params="{\"version\":\"1.0\",\"charset\":\"UTF-8\",\"sign\":\"f94b7eb96d529bfe5b28d57288dd5b4ffb576c2ff98b2fa4ff2be6f70ab8b6e7\",\"signType\":\"SHA-256\",\"reqData\":{\"nextKeyValue\":\"\",\"dateTime\":\"20160825113210\",\"operatorNo\":\"9999\",\"merchantNo\":\"000054\",\"date\":\"20160116\",\"branchNo\":\"0755\"}}"; HashMap<String, Object> hashMap=JSON.parseObject(params, HashMap.class); System.err.println("hashmap="+hashMap); Map<String, Object> map=JSON.parseObject(params, Map.class); System.out.println("map="+map); } }
結果json
hashmap={sign=f94b7eb96d529bfe5b28d57288dd5b4ffb576c2ff98b2fa4ff2be6f70ab8b6e7, signType=SHA-256, reqData={"nextKeyValue":"","dateTime":"20160825113210","operatorNo":"9999","merchantNo":"000054","branchNo":"0755","date":"20160116"}, charset=UTF-8, version=1.0} map={sign=f94b7eb96d529bfe5b28d57288dd5b4ffb576c2ff98b2fa4ff2be6f70ab8b6e7, signType=SHA-256, reqData={"nextKeyValue":"","dateTime":"20160825113210","operatorNo":"9999","merchantNo":"000054","branchNo":"0755","date":"20160116"}, charset=UTF-8, version=1.0}
固然,JSON.parseObject(String,Clazz)只是其中的一個。maven
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);
}
}
————————————————
版權聲明:本文爲CSDN博主「張超帥」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處連接及本聲明。
原文連接:https://blog.csdn.net/weixin_38070406/article/details/80907581spa