package tools; import java.util.ArrayList; import java.util.Map; public class MapToJson { public MapToJson(Map map) { this.map = map; } Map map; String json; int depth; public String toJson() { if (json == null) { json = ""; depth = 0; _print(map); } return json; } private void _print(ArrayList list) { _println("["); ++depth; int c = 0; for (Object i : list) { if (c++ > 0) _printlnC(); printV(i); } _println(); --depth; print("]"); } private void _print(Map map) { _println("{"); ++depth; int c = 0; for (Map.Entry i : map.entrySet()) { if (c++ > 0) _printlnC(); print(i.getKey(), i.getValue()); } _println(); --depth; print("}"); } private void _print(Object o) { if (o instanceof Map) { _print((Map)o); } else if (o instanceof ArrayList) { _print((ArrayList)o); } else if (o instanceof String) { _print((String)o); } else if (o instanceof Integer) { _print(((Integer)o).toString()); } } private void print(Object o) { String indent = ""; for (int i = 0; i