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转对象集合

    }
  • 相关阅读:
    linux signal 处理
    AssetManager asset的使用
    分治法-汉诺塔问题
    WebSocket初探
    分治策略结合递归思想求最大子序列和
    数据库索引的作用和长处缺点
    Android Service 服务(一)—— Service
    YouTube为什么打不开?以及简便的訪问的方法/解决方式!
    winzip15.0注冊码
    CodeForces 398B 概率DP 记忆化搜索
  • 原文地址:https://www.cnblogs.com/gdss/p/13892359.html
Copyright © 2011-2022 走看看