zoukankan      html  css  js  c++  java
  • 谷歌json和对象转换

    package com.guoquan.crm.common.util;

    import com.google.gson.Gson;
    import com.google.gson.GsonBuilder;
    import com.google.gson.JsonObject;
    import com.google.gson.JsonParser;
    import com.google.gson.reflect.TypeToken;

    import java.lang.reflect.Type;
    import java.util.ArrayList;
    import java.util.List;
    /**
    * @description:谷歌json和对象转换
    * @author:dingsong.gao
    * @createTime:2020/10/13 18:44
    * @version:1.0
    */
    public class GsonUtil {

    private GsonUtil(){}

    /**
    * 对象转换成json字符串 字段为null时 不过滤
    * @param obj
    * @return
    */
    public static String toJsonContainNull(Object obj) {
    GsonBuilder gsonbuilder = new GsonBuilder();
    gsonbuilder.serializeNulls();
    Gson gson = gsonbuilder.create();
    return gson.toJson(obj);
    }

    /**
    * 对象转换成json字符串 字段为null时 过滤为null值的字段
    * @param obj
    * @return
    */
    public static String toJsonNotContainNull(Object obj) {

    Gson gson = new Gson();
    return gson.toJson(obj);
    }
    /**
    * json字符串转成对象集合
    * @param str
    * @param type
    * @return
    */
    public static <T> T fromJson(String str, Type type) {
    Gson gson = new Gson();
    return gson.fromJson(str, type);
    }

    /**
    * json字符串转成对象
    * @param str
    * @param type
    * @return
    */
    public static <T> T toJavaObjectFromJson(String str, Class<T> type) {
    Gson gson = new Gson();
    return gson.fromJson(str, type);
    }


    /**
    * 根据key获取value值
    * @param originStr 获取到的原始的字符串
    * @param key
    * @return
    */
    public static String getValueByKey(String originStr,String key){
    JsonObject root = new JsonParser().parse(originStr).getAsJsonObject();
    String value = root.get(key).toString();
    return value;
    }


    // * import com.google.gson.reflect.TypeToken;
    // * List<Person> rtn = GsonUtil.fromJson(jsonStr, new TypeToken<List<Person>>(){}.getType());jsonstr转对象集合

    }
  • 相关阅读:
    Js获取当前日期时间及其它操作
    OpenResty
    Nginx开发从入门到精通
    TengineWeb服务器项目
    VS2012的SVN插件VISUALSVN
    VS项目如何运用svn的忽略列表
    SVN 中trunk、branches、tags都什么意思?
    SVN服务器搭建和使用(一)
    逗号分隔字符串转换为一张表--解决查询in(逗号分隔字符串)出错问题
    判断函数是否存在、判断函数是否存在并执行
  • 原文地址:https://www.cnblogs.com/gdss/p/13892359.html
Copyright © 2011-2022 走看看