json转化

直接转换

   Map map = JSON.parseObject(sourceAsString, Map.class);
//account 实体类
  Account account = JSON.parseObject(sourceAsString, Account.class);

获取json中的某个字段

//转成json  (对象)
JSONObject jsonObject = JSONObject.parseObject(object.toString());
 //获取json 的指定 数据
String function = jsonObject.getString("function");
String str2 = jsonObject.optString("function"); //可以使用 opt 替代get 防止没有转换报错
//获取json
JSONObject content = jsonObject.getJSONObject("content");

详情可以看
JSONObject.parseObject()_Archie_java的博客-CSDN博客_jsonobject.parseobjectjava获取json中某个字段import com.alibaba.fastjson.JSONObject;public class JsonTest { public static void main(String[] args) { // json串(以自己的为准) String str = "{"id":"75","shoppingCartItemList":[{"id":"407","num":"10"}]}"; JSONObject jshttps://blog.csdn.net/qq_43842093/article/details/120983504

JsonArray 使用

  JSONArray data = getDistList(requestUrl, distCode);
        StringBuilder caseSql = new StringBuilder("(case ").append(column);
        data.forEach(item -> {
 //将jsonArray 每一项 转成jsonObject 
            JSONObject json = JSON.parseObject(JSON.toJSONString(item));
 //去除JsonObject的值
            String code = String.valueOf(json.get("code"));
            String name = String.valueOf(json.get("name"));
            caseSql.append(" when '").append(code).append("' then '").append(name).append("'");
        });
        caseSql.append(" else ").append(column).append(" end ) as ").append(alias);

JSONArray转List_jsonarray转成list_CxyGxm的博客-CSDN博客JSONArray转List集合,List集合转JSONArrayhttps://blog.csdn.net/weixin_43948460/article/details/127800323?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2~default~AD_ESQUERY~yljh-1-127800323-blog-104676005.pc_relevant_3mothn_strategy_and_data_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~AD_ESQUERY~yljh-1-127800323-blog-104676005.pc_relevant_3mothn_strategy_and_data_recovery&utm_relevant_index=2

将对象转成json 将josn 转成对象

//将对象转成json
JSONUtil.toJsonStr(对象);
//将json 转成对象
Shop shop = JSONUtil.toBean(shopJson, Shop.class);

将对象转成map 将map 转成对象

/**
*将对象转成 map
*/ 
//redis 存储 user 转成map 也就是hash  因为redis 所有的是String类型存储 
这里的id 是long 会保存 所以借助工具类转换 或者可以自己顶一个map 存储“id”:xxx "name":xxx这样

Map<String, Object> usermap = BeanUtil.beanToMap(user,new HashMap<>(),
                //忽略空的值
                CopyOptions.create().setIgnoreNullValue(true).
                        //将所有的value 转陈String
                        setFieldValueEditor((fieldName,fieldValue) ->
                            fieldValue.toString()));
/**
* 将map 转成对象 
*/
 //将usermap 转成userDto  flase 异常处理  将map准成对象
UserDTO userDTO =BeanUtil.fillBeanWithMap(usermap, new UserDTO(), false);
//将usermap 转成userDto  flase 异常处理  将map准成对象
UserDTO userDTO =BeanUtil.fillBeanWithMap(usermap, new UserDTO(), false);/**
*将对象转成 map
*/ 
//redis 存储 user 转成map 也就是hash  因为redis 所有的是String类型存储 
这里的id 是long 会保存 所以借助工具类转换 或者可以自己顶一个map 存储“id”:xxx "name":xxx这样

Map<String, Object> usermap = BeanUtil.beanToMap(user,new HashMap<>(),
                //忽略空的值
                CopyOptions.create().setIgnoreNullValue(true).
                        //将所有的value 转陈String
                        setFieldValueEditor((fieldName,fieldValue) ->
                            fieldValue.toString()
                        ));

/**
* 将map 转成对象 
*/
 //将usermap 转成userDto  flase 异常处理  将map准成对象
UserDTO userDTO =BeanUtil.fillBeanWithMap(usermap, new UserDTO(), false);
//将usermap 转成userDto  flase 异常处理  将map准成对象
UserDTO userDTO =BeanUtil.fillBeanWithMap(usermap, new UserDTO(), false);

引用的hutoo 包 其他方法采用Hutool——国产良心工具包,让你的java变得更甜 - 知乎上次我们分享了谷歌高大上的工具包Guava,这次我们来分享一款更接地气的国产工具包Hutool。 Hutool是国内程序员在工作中总结和积累而成的一套小而全的工具类库,相比于Guava,它更符合国内开发者的需求。 Hutool首…https://zhuanlan.zhihu.com/p/372359362工具类

package com.ehl.utb.dispatch.data.access.common.utils;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.ehl.utb.dispatch.data.access.common.bean.JsonStateEnum;
import com.ehl.utb.dispatch.data.access.common.bean.JsonStringException;

import java.util.List;
import java.util.Map;

/**
 * FastJson转换工具类
 *
 * @date 2019年4月16日
 */
public class FastJsonUtils {

    /**
     * 静态方法类添加私有构造函数
     */
    private FastJsonUtils() {
        throw new IllegalStateException("Utility class");
    }

    /**
     * 功能描述:把JSON数据转换成普通字符串列表
     *
     * @param jsonData JSON数据
     * @return
     * @throws Exception
     */
    public static List<String> getStringList(String jsonData) {
        return JSON.parseArray(jsonData, String.class);
    }

    /**
     * 功能描述:把JSON数据转换成指定的java对象
     *
     * @param jsonData JSON数据
     * @param clazz    指定的java对象
     * @return
     * @throws Exception
     */
    public static <T> T getSingleBean(String jsonData, Class<T> clazz) {
        return JSON.parseObject(jsonData, clazz);
    }

    /**
     * 功能描述:把java对象转换成JSON数据
     *
     * @param object java对象
     * @return
     */
    public static String getJsonString(Object object) {
        return JSON.toJSONString(object);
    }

    /**
     * 功能描述:把java对象转换成JSON数据
     *
     * @param object java对象
     * @return
     */
    public static Integer getJsonInger(String  object,String key) {
        return JSON.parseObject(object).getInteger(key);
    }
    /**
     * 功能描述:把JSON数据转换成指定的java对象列表
     *
     * @param jsonData JSON数据
     * @param clazz    指定的java对象
     * @return
     * @throws Exception
     */
    public static <T> List<T> getBeanList(String jsonData, Class<T> clazz) {
        return JSON.parseArray(jsonData, clazz);
    }

    /**
     * 功能描述:把JSON数据转换成较为复杂的java对象列表
     *
     * @param jsonData JSON数据
     * @return
     * @throws Exception
     */
    public static List<Map<String, Object>> getBeanMapList(String jsonData) {
        return JSON.parseObject(jsonData, new TypeReference<List<Map<String, Object>>>() {
        });
    }
    /**
     * 功能描述:获取JSON数据对应Key 的Value值
     * @param keys
     * @return
     */
    public static String getJsonKeyValues(String jsonString,String keys) {

        //解析json对象
        JSONObject jsonObject = JSON.parseObject(jsonString);

        String result = jsonObject.getString(keys);
        if (result == null) {
            throw new JsonStringException(JsonStateEnum.STRING_ERROR.getStateInfo() + ",参数值:" + keys);
        }

        return result;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值