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}