java json转换(二)

时间:2024-04-10 09:35:46
package com.kps.common.utils;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.alibaba.fastjson.serializer.JSONLibDataFormatSerializer;
import com.alibaba.fastjson.serializer.SerializeConfig;
import com.alibaba.fastjson.serializer.SerializerFeature;
import java.nio.charset.Charset;
import java.util.List;
import java.util.Map;
import java.util.Set; /**
* Created by helka067 on 2018/7/20.
* json字符串,jsonobject, java对象
*
*/ @SuppressWarnings("all")
public class FastJsonUtils {
private static final SerializeConfig config =new SerializeConfig();
private static final SerializerFeature[] features = { SerializerFeature.QuoteFieldNames, // 双引号
SerializerFeature.WriteMapNullValue, // 输入空值字段
SerializerFeature.WriteEnumUsingToString, // 枚举输出STRING
SerializerFeature.WriteNullBooleanAsFalse, // 布尔类型如果为null输出false
SerializerFeature.WriteNullListAsEmpty, // List字段如果为null输出为[]
//SerializerFeature.WriteNullNumberAsZero, // number类型如果为null输出0
//SerializerFeature.WriteNullStringAsEmpty, // 字符串类型如果为null输出""
SerializerFeature.SortField, // 按字段名称排序后进行输出
SerializerFeature.WriteDateUseDateFormat// 设置日期格式
}; // java对象转json
public static String getBeanToJson(Object object) {
return JSON.toJSONString(object, config, features);
} /**
* hibernate model存在关联循环,截取层次处理
* @throws Exception
*/
public static String toHJSON(Object object, int... layers) {
if (object == null)
return "";
if (object instanceof List) {
object = ConverHelper.getListCopy((List) object, layers);
} else if (object instanceof Set) {
object = ConverHelper.getSetCopy((Set) object, layers);
} else if (object instanceof Map) {
object = ConverHelper.getMapCopy((Map) object, layers);
} else {
object = ConverHelper.getCopy(object, layers);
}
return JSON.toJSONString(object, config, features); } // json转java对象
public static <T> T getJsonToBean(String json, Class<T> clazz) {
return JSON.parseObject(json, clazz);
} // json转java对象
public static <T> T getJsonToBean(String json, TypeReference<T> tr) {
return JSON.parseObject(json, tr);
} // json转换为数组
public static <T> Object[] toArray(String json, Class<T> clazz) {
return JSON.parseArray(json, clazz).toArray();
} // json转换为List
public static <T> List<T> toList(String json, Class<T> clazz) {
return JSON.parseArray(json, clazz);
} // JsonObject转json
public static String JsonObjectToJson(JSONObject jo) {
return jo.toJSONString();
} // JsonObject转java对象
public static <T> T JsonObjectToBean(JSONObject jo, Class<T> clazz) {
return jo.toJavaObject(clazz);
} // JsonObject转java对象
public static <T> T JsonObjectToBean(JSONObject jo, TypeReference<T> tr) {
return jo.toJavaObject(tr);
} //JsonArray转json
public static String JsonArrayToJson(JSONArray ja) {
return ja.toJSONString();
} // JsonArray转java对象
public static <T> List<T> JsonArrayToBean(JSONArray ja, Class<T> clazz) {
return ja.toJavaList(clazz);
} // java对象转jsonobject
public static JSONObject toJsonObject(Object object) {
String s = getBeanToJson(object);
return (JSONObject)JSONObject.toJSON(object);
} // 将string转化为序列化的json字符串
public static Object textToJson(String text) {
Object objectJson = JSON.parse(text);
return objectJson;
} //map转实体对象
public static <T> T mapToBean(Map map,Class<T> clazz) {
String json = getBeanToJson(map);
return JSON.parseObject(json, clazz);
} // map转实体对象
public static <T> List<T> mapToBean(List<Map> list, Class<T> clazz) {
String json = getBeanToJson(list);
return JSON.parseArray(json, clazz);
}
}

ConverHelper 详见:https://www.cnblogs.com/hanjun0612/p/9779781.html