使用FastJSON 對Map/JSON/String 進行互轉
阿新 • • 發佈:2019-02-16
Fastjson是一個Java語言編寫的高效能功能完善的JSON庫,由阿里巴巴公司團隊開發的
主要特性主要體現在以下幾個方面:
1.高效能
fastjson採用獨創的演算法,將parse的速度提升到極致,超過所有json庫,包括曾經號稱最快的jackson。並且還超越了google的二進位制協議protocol buf。
2.功能強大
支援各種JDK型別。包括基本型別、JavaBean、Collection、Map、Enum、泛型等。
3.無依賴
不需要例外額外的jar,能夠直接跑在JDK上。
4.支援範圍廣
5.開源
1、String 轉 Json
@Test
public void test(){
String str = "{\"age\":\"24\",\"name\":\"cool_summer_moon\"}";
JSONObject jsonObject = JSONObject.parseObject(str);
System.out.println("json物件是:" + jsonObject);
Object object = jsonObject.get("name");
System.out.println("name值是:"+object);
}
執行結果:
json物件是:{"name" :"cool_summer_moon","age":"24"}
name值是:cool_summer_moon
2、Json 轉 String
@Test
public void test(){
String str = "{\"age\":\"24\",\"name\":\"cool_summer_moon\"}";
JSONObject jsonObject = JSONObject.parseObject(str);
//json物件轉字串
String jsonString = jsonObject.toJSONString();
System.out .println("json字串是:" + jsonString);
}
執行結果:
json字串是:{"name":"cool_summer_moon","age":"24"}
3、String 轉 Map
@Test
public void test(){
String str = "{\"age\":\"24\",\"name\":\"cool_summer_moon\"}";
JSONObject jsonObject = JSONObject.parseObject(str);
//json物件轉Map
Map<String,Object> map = (Map<String,Object>)jsonObject;
System.out.println("map物件是:" + map);
Object object = map.get("age");
System.out.println("age的值是"+object);
}
執行結果:
map物件是:{"name":"cool_summer_moon","age":"24"}
age的值是24
4、Map 轉 String
@Test
public void test(){
Map<String,Object> map = new HashMap<>();
map.put("age", 24);
map.put("name", "cool_summer_moon");
String jsonString = JSON.toJSONString(map);
System.out.println("json字串是:"+jsonString);
}
執行結果:
json字串是:{"name":"cool_summer_moon","age":24}
5、Map 轉 Json
@Test
public void test(){
Map<String,Object> map = new HashMap<>();
map.put("age", 24);
map.put("name", "cool_summer_moon");
JSONObject json = new JSONObject(map);
System.out.println("Json物件是:" + json);
}
執行結果:
Json物件是:{"name":"cool_summer_moon","age":24}
6、Json 轉 Map
見示例3