Java对象转换成Map

需求总是千奇百怪,对象转成map,看似没必要,但就是有这个需求,所以记录下来

首先是Bean

package tools;

import lombok.Data;

/**
 * 车辆实体类
 */
@Data
public class Car {

    private String id;
    private String model;//型号
    private String color;//颜色
    private String volume;//排量
    private int year;//年份
}

然后是主要方法和测试类

package tools;

import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.Map;

public class MapTools {

    public static void main(String[] args) throws Exception{
        Car car = new Car();
        car.setId("00000");
        car.setColor("black");
        car.setModel("bmw x5");
        car.setVolume("3.0L");
        car.setYear(2018);

        System.out.println(objectToMap(car));
    }

    /**
     * 将Object对象里面的属性和值转化成Map对象
     *
     * @param obj
     * @return
     * @throws IllegalAccessException
     */
    public static Map<String, Object> objectToMap(Object obj) throws IllegalAccessException {
        Map<String, Object> map = new HashMap<String,Object>();
        Class<?> clazz = obj.getClass();
        for (Field field : clazz.getDeclaredFields()) {
            field.setAccessible(true);
            String fieldName = field.getName();
            Object value = StringUtils.nvl(field.get(obj));
            map.put(fieldName, value);
        }
        return map;
    }
}

输出

{volume=3.0L, color=black, year=2018, model=bmw x5, id=00000}

原文地址:https://www.cnblogs.com/tobeymarshall/p/10217410.html

时间: 2024-10-09 22:42:41

Java对象转换成Map的相关文章

如何将java对象转换成json数据

package cn.hopetesting.com.test; import cn.hopetesting.com.domain.User;import com.fasterxml.jackson.core.JsonProcessingException;import com.fasterxml.jackson.databind.ObjectMapper;import org.junit.Test; import java.io.File;import java.io.FileWriter;i

Java对象转换成Json字符串是无法获得对应字段名

问题: 代码中已经标注 @JSONField(name = "attrs") private String abc; public String getA() { return abc; } public void setA(String abc) { this.abc = abc; } 在发送消息的时候,会发现消息接受到的Json消息是abc对应的字段是a. 解决方法: 发现这个问题的时候,大概感觉应该是get和set函数名的为题,将其改成getAbc(),setAbc(),再发送消

Java对象转换成Json字符串

使用gson-2.3.1.jar package org.acooly.thrift.demo.client; import java.util.ArrayList; import com.google.gson.Gson; public class json { public static void main(String[] args) {          ArrayList list=new ArrayList();     Student s1=new Student();     s

(精华)将json数组和对象转换成List和Map(小龙哥和牛徳鹤的对话)

将java标准的数据结构ArrayList和HashMap转换成json对象和数组很简单 只需要JSONArray.fromObject(obj);或者JSONObject.fromObject(obj); 将json对象转换成Map(必须用到遍历) public static void main(String[] args){ HashMap<String, Object> map = new HashMap<String, Object>(); map.put("na

JAVA对象转换JSON

1. 把java 对象列表转换为json对象数组,并转为字符串 复制代码 代码如下: JSONArray array = JSONArray.fromObject(userlist); String jsonstr = array.toString(); 2.把java对象转换成json对象,并转化为字符串 复制代码 代码如下: JSONObject object = JSONObject.fromObject(invite); String str=object.toString()); 3.

JSON字符串转换成Map对象

页面向后台action传递一个json字符串,需要将json字符串转换成Map对象 import java.util.HashMap; import java.util.Iterator; import java.util.Map; import net.sf.json.JSONObject; public Map<String, String> toMap(Object object) { Map<String, String> data = new HashMap<Str

分享非常有用的Java程序 (关键代码)(五)---把 Array 转换成 Map

原文:分享非常有用的Java程序 (关键代码)(五)---把 Array 转换成 Map import java.util.Map; import org.apache.commons.lang.ArrayUtils; public class Main { public static void main(String[] args) { String[][] countries = { { "United States", "New York" }, { &quo

json字符串转json对象,json对象转换成java对象

@RequestMapping(value = "updateInvestorApplyAccountNo", method = RequestMethod.POST) @ResponseBody public void updateInvestorApplyAccountNo(HttpServletRequest request, HttpServletResponse response, @RequestBody String requestBody) { int num = 0;

json字符串转成 json对象 json对象转换成java对象

import com.alibaba.fastjson.JSONArray;import com.alibaba.fastjson.JSONObject; 依赖包 <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.54</version></dependency> String r