java json转换(二)
2023-09-11 14:21:22 时间
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
相关文章
- 我们正在招聘java工程师,想来美团工作吗?
- Java IO--字节-字符流转换OutputStreamWriter/InputStreamReader
- java实现第六届蓝桥杯饮料换购
- java实现公式解析
- Java实现 蓝桥杯VIP 算法提高 进制转换
- Java实现 蓝桥杯 基础练习 字母图形
- Java实现 蓝桥杯 基础练习 查找整数
- Json字符串转换为java对象的各种实现方法【json_lib框架、Gson、org.json】
- Json对象与Json字符串的转化、JSON字符串与Java对象的转换
- JAVA-IO操作,字节-字符转换流
- 【JAVA】Java循环语句中的continue跳转进入下一次循环是否判断循环条件
- Eclipse 报 “Exception in thread "main" java.lang.OutOfMemoryError: Java heap space ”错误的解决办法
- java 11 Java Flight Recorder
- 【JAVA】java中char类型数组用数组名打印结果不是地址值而是数组内容
- Java超类-java.lang.object
- Atiitt 对象转换json 序列化规范 Java 循环引用的解决 设置序列化层次深度 去除不必的属性 太长不方便月度 jsonObject.remove("num1"); Prety fo
- Atitit.js javascript异常处理机制与java异常的转换 多重catc hDWR 环境 .js exception process Vob7
- java对象与json对象间的相互转换
- java对象和json对象之间互相转换
- Java中将Map转换为JSON
- Java设计模式菜鸟系列(十五)建造者模式建模与实现
- 【华为OD机试 2023】 优秀学员统计(C++ Java JavaScript Python)
- Java //PP2.6 编写一个应用程序,将英里转换为千米(1英里等于1.60935千米)。以浮点数类型读取用户输入的英里数
- 全网详细解决java.lang.ClassCastException: xxx类型 cannot be cast to xxx类型
- 深入理解JVM内幕:从基本结构到Java 7新特性
- TensorFlow Lite demo——就是为嵌入式设备而存在的,底层调用NDK神经网络API,注意其使用的tf model需要转换下,同时提供java和C++ API,无法使用tflite的见后
- FlexGantt 8.0 for java Crack
- 【java】Java 封装
- 【java】Java 集合框架