package com.jrails.commons.utils; import java.util.Set; import java.util.List; import java.util.Map; import java.util.Iterator; /** * Created by IntelliJ IDEA. * User: Administrator * Date: 2009-3-28 * Time: 10:49:07 * To change this template use File | Settings | File Templates. */ public class JsonUtils { public static String returnIdJson(List list,String [] array){ if(list==null){ return "{}"; } String arrayStr = ""; if(array != null && array.length > 0 ){ for(int i=0;i<array.length;i++){ String ar = array[i]; arrayStr += ar + "," ; } } String str = ""; for(int i=0;i<list.size();i++){ String s = ""; Map map = (Map) list.get(i); Set keys = map.keySet(); Iterator iterator = keys.iterator(); while(iterator.hasNext()){ String key = (String) iterator.next(); if( arrayStr.equals("") || arrayStr.indexOf(key + ",") == -1 ){ s += s == "" ? (key + ":\"" + (String)map.get(key) + "\"") : ( "," + key + ":\"" + (String) map.get(key) + "\""); } } s = map.get("id") + ":{" + s + "}"; str += str == "" ? s : "," + s; } return "{" + str + "}"; } public static String returnIndexJson(List list,String [] array){ if(list==null){ return "{}"; } String arrayStr = ""; if(array != null && array.length > 0 ){ for(int i=0;i<array.length;i++){ String ar = array[i]; arrayStr += ar + "," ; } } String str = ""; for(int i=0;i<list.size();i++){ String s = ""; Map map = (Map) list.get(i); Set keys = map.keySet(); Iterator iterator = keys.iterator(); while(iterator.hasNext()){ String key = (String) iterator.next(); if( arrayStr.equals("") || arrayStr.indexOf(key + ",") == -1 ){ s += s == "" ? (key + ":\"" + (String)map.get(key) + "\"") : ( "," + key + ":\"" + (String) map.get(key) + "\""); } } s = i + ":{" + s + "}"; str += str == "" ? s : "," + s; } return "{" + str + "}"; } public static String returnJson(List list,String [] array){ if(list==null){ return "[]"; } String arrayStr = ""; if(array != null && array.length > 0 ){ for(int i=0;i<array.length;i++){ String ar = array[i]; arrayStr += ar + "," ; } } String str = ""; for(int i=0;i<list.size();i++){ String s = ""; Map map = (Map) list.get(i); Set keys = map.keySet(); Iterator iterator = keys.iterator(); while(iterator.hasNext()){ String key = (String) iterator.next(); if( arrayStr.equals("") || arrayStr.indexOf(key + ",") == -1 ){ s += s == "" ? (key + ":\"" + (String)map.get(key) + "\"") : ( "," + key + ":\"" + (String) map.get(key) + "\""); } } s = "{" + s + "}"; str += str == "" ? s : "," + s; } return "[" + str + "]"; } }