部分业务场景在传输数据时,需要的数据格式是扁平化的json格式,而在java对象中有时候为了解耦会做一些嵌套(即对象中包含对象,多层也是常有)。下面的代码可以提供该能力
处理单个对象:ObjectToMapUtil.nestedObj2Map
处理列表对象:ObjectToMapUtil.nestedObjList2ListMap
package cn.sto.station.twin.common.util;
import cn.sto.station.twin.common.util.json.JsonUtil;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.JSON;
import lombok.extern.slf4j.Slf4j;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Slf4j
public class ObjectToMapUtil {
private static final String SEPARATOR = "_";
public static Map nestedObj2Map(Object object) {
Map maps = JSON.parseObject(JSON.toJSONString(object), Map.class);
Map result = new HashMap<>();
maps.forEach((key, value) -> {
common(maps, result, key, value, key);
});
return result;
}
public static List



