自己寫的JSON工具類,用于制作JSON字元串
依賴:
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.2.4</version>
</dependency>
代碼:
package com.spz.work.zhxf.tool;
import com.google.gson.*;
import java.util.List;
import java.util.Map;
/**
* JSON資料制作工具類
* 使用工具: Google的json工具
* @author spz
* @date 2017/12/23
*/
public class JSONResultMake {
//建立json解析器
private JsonObject json = null;
/**
* 構造函數
*/
public JSONResultMake(){
json = new JsonObject();
}
/**
* 給 JSON 字元串增加字段
* @param key : 字元串類型
* @param value : 字元串類型
*/
public void addProperty(String key, String value){
json.addProperty(key,value);
}
/**
* 給 JSON 字元串增加字段
* @param key : 字元串類型
* @param value : Integer 類型
*/
public void addProperty(String key, Integer value){
json.addProperty(key,value);
}
/**
* 給 JSON 字元串增加字段
* @param key : 字元串類型
* @param value : Boolean 類型
*/
public void addProperty(String key, Boolean value){
json.addProperty(key,value);
}
/**
* 給 JSON 字元串增加二維表
* 格式: "key":[{"qqq":"213"},{"qqq":"213"},{"qqq":"213"}]
* @param key : 加入數組的key值,類型為字元串
* @param list : 加入的數組
*/
public void addTable(String key, List<Object> list){
JsonArray table = new JsonArray();//json數組
for(int index = 0; index < list.size(); index++){
Gson gson = new GsonBuilder()
.setDateFormat("yyyy-MM-dd HH:mm:ss") //設定日期格式,不設定此項會導緻不同機器不一樣日期格式
.create();
JsonObject object = (JsonObject)new JsonParser().parse(gson.toJson(list.get(index)));//将對象轉化為JsonObject
table.add(object);//将JsonObject加入json二維表
}
json.add(key,table);//将二維表加入總的json對象
}
/**
* 給 JSON 字元串增加數組
* @param key : 數組名稱
* @param map : 數組内容的Map
*/
public void addArray(String key, Map<String,String> map){
JsonObject array = new JsonObject();
for (Map.Entry<String,String> index : map.entrySet()) {
array.addProperty(index.getKey(),index.getValue());
}
json.add(key,array);
}
/**
* 給 JSON 字元串增加數組
* 此方法會将類參數中的屬性轉換為json屬性
* @param key : 數組名稱
* @param object: 類
*/
public void addArrayByClass(String key, Object object){
Gson gson = new GsonBuilder()
.setDateFormat("yyyy-MM-dd HH:mm:ss") //設定日期格式,不設定此項會導緻不同機器不一樣日期格式
.create();
JsonObject jObject = (JsonObject)new JsonParser().parse(gson.toJson(object));//将對象轉化為JsonObject
json.add(key,jObject);
}
/**
* 擷取JSON對象的字元串形式
* @return 字元串類型
*/
public String getJson(){
return json.toString();
}
}
```