实体类和Map键不一致转换

本文介绍了一个用于Java项目的JSON转换工具类,该工具类提供了一系列方法来帮助开发者轻松地将Java对象转换为JSON字符串或将JSON字符串转换为Java对象。文章详细展示了如何使用这些方法,并提供了具体的示例代码。
package com.yxlm.central.pub.domain.d;

import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.util.Map;

@Data
public class JsonVo {

    @JsonProperty("id_test")
    @JSONField(name = "id_test")
    private String idTest;


    /**
     * 转实体
     * @param beanStr
     * @return
     */
    public static JsonVo toBean(String beanStr){
        JSONObject jsonObject = JSONObject.parseObject(beanStr);
        return JSONObject.toJavaObject(jsonObject, JsonVo.class);
    }

    /**
     * 转Map
     * @return
     */
    public static Map<String, Object> toMap(JsonVo jsonVo) {
        return JSONUtil.toBean(JSONUtil.toJsonStr(JSONObject.toJSONString(jsonVo)),Map.class);
    }


    public static void main(String[] args) {
        /**
         * 实体转JSON
         */
        JsonVo json = new JsonVo();
        json.setIdTest("1231");

        System.out.println(toMap(json));

        /**
         * JSON转实体
         */
        String ss = "{id_test: 123}";
        System.out.println(toBean(ss));


    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值