自己写的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();
}
}
```
网友评论