Java bean 转 Map 时需要使用Fastjson
//方法 一 Map<String, Object> a = (Map<String, Object>)JSON.toJSON(javabean) //方法 二 Map<String, Object> a = JSON.parseObject(JSON.toJSONString(javabean))
另外也可以使用 使用 BeanUtils
Map beanMap = BeanUtils.describe(javabean);
实际例子如下:
package com.qa.Parameters; public class postParameters { private String userName; private String password; public postParameters(){ } //login public postParameters(String userName , String password){ this.userName = userName; this.password = password; } public String getUserName() { return userName; } public void setUserName(String userName){ this.userName = userName; } public String getPassword() { return password; } public void setPassword(String password){ this.password = password; } }
运行的代码如下:
package com.qa.tests; import com.alibaba.fastjson.JSON; import com.qa.Parameters.postParameters; import java.util.Map; public class practise { public static void main(String[] args){ postParameters loginParameters = new postParameters("jack","123456"); //将登录请求对象序列化成json对象 String userJsonString = JSON.toJSONString(loginParameters); Map<String, Object> javabean_map = JSON.parseObject(userJsonString); Map<String, Object> javabean_map2 = JSON.parseObject(JSON.toJSONString(loginParameters)); Map<String, Object> javabean_map3 = (Map<String, Object>)JSON.toJSON(loginParameters); System.out.println("userJsonString Type "+ userJsonString.getClass().getName()); System.out.println("userJsonString "+ userJsonString); System.out.println("javabean_map Type "+ javabean_map.getClass().getName()); System.out.println("javabean_map "+ javabean_map); System.out.println("javabean_map2 Type "+ javabean_map2.getClass().getName()); System.out.println("javabean_map2 "+ javabean_map2); System.out.println("javabean_map3 Type "+ javabean_map3.getClass().getName()); System.out.println("javabean_map3 "+ javabean_map3); } }
输出的结果如下:
userJsonString Type java.lang.String userJsonString {"password":"123456","userName":"jack"} javabean_map Type com.alibaba.fastjson.JSONObject javabean_map {"password":"123456","userName":"jack"} javabean_map2 Type com.alibaba.fastjson.JSONObject javabean_map2 {"password":"123456","userName":"jack"} javabean_map3 Type com.alibaba.fastjson.JSONObject javabean_map3 {"password":"123456","userName":"jack"}