package org.nutz.lang.tmpl;
import org.nutz.json.Json;
import org.nutz.json.JsonFormat;
public class TmplJsonEle extends TmplDynamicEle {
private JsonFormat _fmt;
public TmplJsonEle(String key, String fmt, String dft_str) {
super("json", key, fmt, dft_str);
_fmt = JsonFormat.forLook();
if (null != fmt) {
_fmt.setCompact(fmt.indexOf('c') >= 0);
_fmt.setQuoteName(fmt.indexOf('q') >= 0);
_fmt.setIgnoreNull(fmt.indexOf('n') < 0);
}
}
@Override
protected String _val(Object val) {
if (null == val)
return "null";
if (val instanceof CharSequence) {
if ("-obj-".equals(val))
return "{}";
return val.toString();
}
return Json.toJson(val, _fmt);
}
}