JSONObject To JavaBean

JSONObject To JavaBean

import com.google.gson.Gson;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

import java.util.Iterator;
import java.util.Set;

public class JSONObjectToJavaBean {

    private final static Gson gson = new Gson();

    public static void print(Object obj) {
        System.out.println(gson.toJson(obj));
    }

    public static void print(String objName,Object obj) {
        System.out.printf("%s: %s",objName,gson.toJson(obj));
        System.out.println();
    }

    public static String toJson(Object obj) {
        return gson.toJson(obj);
    }


    public static Object toBean(JSONObject object,Class beanClass) {
        Object obj = null;
        try {
            Iterator<String> keys=object.keys();
            Object o;
            String key;
            while(keys.hasNext()){
                key=keys.next();
                o=object.get(key);
                if(o instanceof JSONObject){
                    object.put(key,"\""+o.toString()+"\"");
                } else if(o instanceof JSONArray) {
                    object.put(key,"\""+o.toString()+"\"");
                } else {

                }
            }
            obj = JSONObject.toBean(object,beanClass);
        } catch (Exception e) {
            System.out.println(object.toString());
            e.printstacktrace();
        }
        return obj;
    }

    public static Object toBean(JSONObject object,Class beanClass,Set<String> fields) {
        Object obj = null;
        try {
            Iterator<String> keys=object.keys();
            Object o;
            String key;
            while(keys.hasNext()){
                key=keys.next();
                if(fields.contains(key)) {
                    o = object.get(key);
                    if (o instanceof JSONObject) {
                        object.put(key,"\"" + o.toString() + "\"");
                    } else if (o instanceof JSONArray) {
                        object.put(key,"\"" + o.toString() + "\"");
                    } else {

                    }
                }
            }
            obj = JSONObject.toBean(object,beanClass);
        } catch (Exception e) {
            System.out.println(object.toString());
            e.printstacktrace();
        }
        return obj;
    }
}

相关文章

AJAX是一种基于JavaScript和XML的技术,能够使网页实现异步交...
在网页开发中,我们常常需要通过Ajax从后端获取数据并在页面...
在前端开发中,经常需要循环JSON对象数组进行数据操作。使用...
AJAX(Asynchronous JavaScript and XML)是一种用于创建 We...
AJAX技术被广泛应用于现代Web开发,它可以在无需重新加载页面...
Ajax是一种通过JavaScript和HTTP请求交互的技术,可以实现无...