栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

json转对象,json转List,json转Map

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

json转对象,json转List,json转Map

json转对象

JSONObject thumb = shopGoodsInfo.get("thumb");
UrlBo urlBo = JsonInfoUtil.jsonToObj(JsonInfoUtil.toJson(shopGoodsInfo.get("thumb")), UrlBo.class);

json转List

JSONObject thumb = shopGoodsInfo.get("thumb");
List appPushBindList = JsonInfoUtil.jsonToObj(JsonInfoUtil.toJson(shopGoodsObject.getString("weightName")),new TypeReference>(){});

json转Map

String thumb="";
Map map = JsonInfoUtil.jsonToObj(JsonInfoUtil.toJson(thumb), new TypeReference>() {});
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import com.alibaba.fastjson.parser.Feature;
import com.alibaba.fastjson.serializer.JSONLibDataFormatSerializer;
import com.alibaba.fastjson.serializer.SerializeConfig;
import com.alibaba.fastjson.serializer.SerializerFeature;
import org.apache.commons.lang.StringUtils;

import java.util.Date;
import java.util.HashMap;


public class JsonInfoUtil {
    private final static String NULLSTR = "";
    private final static String JSONP_PREFIX = "callback(";
    private final static String JSONP_SUFFIX = ")";

    private JsonInfoUtil() {};

    private final static SerializeConfig config = new SerializeConfig();
    {
        config.put(Date.class, new JSONLibDataFormatSerializer());
        config.put(java.sql.Date.class, new JSONLibDataFormatSerializer());
    }

    private final static SerializerFeature[] features = {
            SerializerFeature.WriteMapNullValue,
            SerializerFeature.WriteNullListAsEmpty,
            SerializerFeature.WriteNullNumberAsZero,
            SerializerFeature.WriteNullBooleanAsFalse,
            SerializerFeature.WriteNullStringAsEmpty
    };

    public final static  SerializerFeature[] containDisableCircularReferenceDetect = {
            SerializerFeature.WriteMapNullValue,
            SerializerFeature.WriteNullListAsEmpty,
            SerializerFeature.WriteNullNumberAsZero,
            SerializerFeature.WriteNullBooleanAsFalse,
            SerializerFeature.WriteNullStringAsEmpty,
            SerializerFeature.DisableCircularReferenceDetect
    };
    private final static Feature[] parseFeatures = {
            Feature.IgnoreNotMatch,
            Feature.SortFeidFastMatch,
            Feature.SupportArrayToBean
    };

    public static String toJson(Object object) {
        return JSON.toJSONString(object, config, features);
    }
    public static String toJsonDisableCircularReferenceDetect(Object object){
        return JSON.toJSONString(object, config, containDisableCircularReferenceDetect);
    }

    @Deprecated
    public static String toJsonp(Object object) {
        return toJson(object);
        //return  JSONP_PREFIX + JSON.toJSonString(object, config, features) + JSONP_SUFFIX;
    }

    public static  T jsonToObj(String jsonValue, Class c) {
        return StringUtils.isBlank(jsonValue) ? null : JSON.parseObject(jsonValue, c,parseFeatures);
    }

    public static  T jsonToObj(String jsonValue, TypeReference typeReference){
        return JSON.parseObject(jsonValue,typeReference,parseFeatures);
    }

    @Deprecated
    public static  T jsonpToObj(String jsonpValue, Class c) {
        String rex = "[()]+";


        if (StringUtils.isBlank(jsonpValue)) {
            return null;
        }
        String[] json = jsonpValue.split(rex);

        if (json.length < 1) {
            throw new IllegalArgumentException("The params of 'jsonpValue' is not invalid,pls check.");
        }

        return JSON.parseObject(json[1],c);
    }

    public static void main(String[] args) {
        HashMap map = new HashMap<>();
        Date put = map.put("2", null);
        String s = JsonInfoUtil.toJson(map);
        System.out.println(s);

    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/459164.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号