Warning: session_start(): open(/var/lib/php/sessions/sess_9svrvrd0odjdnupkuoqt4tfpnf, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
sS jsonEncode_breakAtNLevels(int levels, O o) {
new StringBuilder buf;
jsonEncode_breakAtNLevels(1, levels, o, buf);
ret str(buf);
}
svoid jsonEncode_breakAtNLevels(int level, int levels, O o, StringBuilder buf) {
if (o == null)
buf.append("null");
else if (o instanceof S)
buf.append(quote((S) o));
else if (o instanceof Number || o instanceof Bool)
buf.append(o);
else if (o instanceof Map) {
Map map = cast o;
buf.append("{");
bool first = true;
for (O key : keys(map)) {
if (first) first = false; else buf.append(",");
if (level <= levels) buf.append("\n" + indent(level*2));
buf.append(quote((S) key));
buf.append(":");
jsonEncode_breakAtNLevels(levels-1, map.get(key), buf);
}
if (level <= levels) buf.append("\n");
buf.append("}");
} else if (o instanceof Collection) {
Collection l = cast o;
buf.append("[");
bool first = true;
for (O element : l) {
if (first) first = false; else buf.append(",");
if (level <= levels) buf.append("\n" + indent(level*2));
jsonEncode_breakAtNLevels(levels-1, element, buf);
}
if (level <= levels) buf.append("\n");
buf.append("]");
} else
fail("Unknown object for JSON encoding: " + className(o));
}