实体类和Map键不一致转换

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));


    }
}

猜你喜欢

转载自blog.csdn.net/guoweiting/article/details/126977599