diff --git a/cat-home/src/main/java/com/dianping/cat/system/page/router/Handler.java b/cat-home/src/main/java/com/dianping/cat/system/page/router/Handler.java index cac4599887..4394588438 100644 --- a/cat-home/src/main/java/com/dianping/cat/system/page/router/Handler.java +++ b/cat-home/src/main/java/com/dianping/cat/system/page/router/Handler.java @@ -27,6 +27,7 @@ import javax.servlet.ServletException; +import com.alibaba.fastjson.JSON; import org.unidal.lookup.annotation.Inject; import org.unidal.web.mvc.PageHandler; import org.unidal.web.mvc.annotation.InboundActionMeta; @@ -141,9 +142,9 @@ public void handleOutbound(Context ctx) throws ServletException, IOException { model.setContent(routerInfo); break; case JSON: - Map kvs = buildKvs(report, domain, ip); + Map> kvs = buildKvs(report, domain, ip); - model.setContent(kvs.toString()); + model.setContent(JSON.toJSONString(kvs)); break; case BUILD: Date period = TimeHelper.getCurrentDay(-1); @@ -160,15 +161,17 @@ public void handleOutbound(Context ctx) throws ServletException, IOException { ctx.getHttpServletResponse().getWriter().write(model.getContent()); } - private Map buildKvs(RouterConfig report, String domain, String ip) { - Map kvs = new HashMap(); + private Map> buildKvs(RouterConfig report, String domain, String ip) { + Map map = new HashMap<>(); - kvs.put("block", String.valueOf(m_configManager.shouldBlock(ip))); - kvs.put("routers", buildRouterInfo(ip, domain, report)); - kvs.put("sample", String.valueOf(buildSampleInfo(domain))); - kvs.put("startTransactionTypes", m_filterManager.getAtomicStartTypes()); - kvs.put("matchTransactionTypes", m_filterManager.getAtomicMatchTypes()); + map.put("block", String.valueOf(m_configManager.shouldBlock(ip))); + map.put("routers", buildRouterInfo(ip, domain, report)); + map.put("sample", String.valueOf(buildSampleInfo(domain))); + map.put("startTransactionTypes", m_filterManager.getAtomicStartTypes()); + map.put("matchTransactionTypes", m_filterManager.getAtomicMatchTypes()); - return kvs; + Map> kvConfig = new HashMap<>(); + kvConfig.put("kvs",map); + return kvConfig; } } \ No newline at end of file