Java 怎么将对象转为JSON

2019年7月29日20:17:46Java 怎么将对象转为JSON已关闭评论 384 1280字阅读4分16秒

1.简介

Java 怎么将对象转为JSON?——请看下文。

2.示例代码

/**
 * 版权所有 编程十万个怎么办(www.tah1986.com)
 */

import java.lang.reflect.Method;
import java.text.ParseException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import org.json.JSONException;
import org.json.JSONObject;

public class Main{
    
    public static JSONObject toJSON(Object bean) {

        return new JSONObject(toMap(bean));

    }
    
    public static Map<String, Object> toMap(Object javaBean) {

        Map<String, Object> result = new HashMap<String, Object>();
        Method[] methods = javaBean.getClass().getDeclaredMethods();

        for (Method method : methods) {

            try {

                if (method.getName().startsWith("get")) {

                    String field = method.getName();
                    field = field.substring(field.indexOf("get") + 3);
                    field = field.toLowerCase().charAt(0)
                            + field.substring(1);

                    Object value = method.invoke(javaBean);
                    result.put(field, value);

                }

            } catch (Exception e) {
                e.printStackTrace();
            }

        }

        return result;

    }
    
    public static Map<String, Object> toMap(String jsonString)
            throws JSONException {

        JSONObject jsonObject = new JSONObject(jsonString);

        return toMap(jsonObject);

    }
    public static Map<String, Object> toMap(JSONObject jsonObject) {
        Map<String, Object> result = new HashMap<String, Object>();
        Iterator<String> iterator = jsonObject.keys();
        String key = null;
        Object value = null;

        while (iterator.hasNext()) {

            key = iterator.next();
            value = jsonObject.get(key);
            if (value != null) {
                result.put(key, value);
            }
        }
        return result;
    }
}

 
继续阅读
编程十万个怎么办