001package gudusoft.gsqlparser.util.json;
002
003import gudusoft.gsqlparser.dlineage.util.BeanUtil;
004
005import java.lang.reflect.Array;
006import java.util.ArrayList;
007import java.util.Collection;
008import java.util.List;
009
010public class JSONRender {
011
012        public String toJSONString(Object object) {
013                if (object.getClass().isArray()) {
014                        List list = new ArrayList();
015                        int length = Array.getLength(object);
016                        for (int i = 0; i < length; i++) {
017                                list.add(Array.get(object, i));
018                        }
019                        object = list;
020                }
021
022                if(object instanceof Collection){
023                        List list = new ArrayList();
024                        for(Object item: (Collection)object){
025                                list.add(BeanUtil.bean2Map(item));
026                        }
027                        return JSONSerializer.serialize(list);
028                }
029                else {
030                        return JSONSerializer.serialize(BeanUtil.bean2Map(object));
031                }
032        }
033        
034        private static class JSONRenderHolder {
035                private static JSONRender INSTANCE = new JSONRender();
036        }
037
038        public static JSONRender getInstance() {
039                return JSONRenderHolder.INSTANCE;
040        }
041
042        private JSONRender() {
043        }
044}