anchor.diff:      <% } %>
   </div>
   <jsp:include page="footer.jsp" />
  -
  +<% } else if (format.equals("json")) { %>
  +<%
  +    Gson GSON = GsonUtil.createGson().create();
  +    Map<String, List<Map<String, Object>>> map = new HashMap<>();
  +    List<Map<String, Object>> rits = new ArrayList<>();
  +    map.put("rits", rits);
  +    for (RegionStateNode regionStateNode : rit) {
  +        Map<String, Object> r = new HashMap<>();
  +        r.put("region", regionStateNode.getRegionInfo().getEncodedName());
  +        r.put("table", regionStateNode.getRegionInfo().getTable().getNameAsString());
  +        r.put("state", regionStateNode.getState());
  +        r.put("server", regionStateNode.getRegionLocation().getServerName());
  +        TransitRegionStateProcedure procedure = regionStateNode.getProcedure();
  +        if (procedure != null) {
  +          r.put("procedureId", procedure.getProcId());
  +          r.put("procedureState", procedure.getState().toString());
  +        }
  +        RegionState rs = regionStateNode.toRegionState();
  +        r.put("startTime", rs.getStamp());
  +        r.put("duration", System.currentTimeMillis() - rs.getStamp());
  +        rits.add(r);
  +      }
  +    %>
  +    <%= GSON.toJson(map) %>
   <% } else { %>
   <div class="container-fluid content">
       <div class="row">
  
positive.code:          import="static org.apache.commons.lang3.StringEscapeUtils.escapeXml"
           import="java.util.Collections"
           import="java.util.Comparator"
           import="java.util.List"
           import="java.util.stream.Collectors"
           import="org.apache.hadoop.hbase.master.HMaster"
           import="org.apache.hadoop.hbase.master.assignment.RegionStateNode"
           import="org.apache.hadoop.hbase.master.assignment.TransitRegionStateProcedure"
  %>
  <%
      HMaster master = (HMaster) getServletContext().getAttribute(HMaster.MASTER);
  
negative.code:                 <th>Region</th>
                  <th>Table</th>
                  <th>RegionState</th>
                  <th>Server</th>
                  <th>Procedure</th>
                  <th>ProcedureState</th>
                  <th>Start Time</th>
                  <th>Duration (ms)</th>
              </tr>
              <% for (RegionStateNode regionStateNode : rit) { %>
              <tr>
                  <td><%= regionStateNode.getRegionInfo().getEncodedName() %></td>
                  <td><%= regionStateNode.getRegionInfo().getTable() %></td>
                  <td><%= regionStateNode.getState() %></td>
                  <td><%= regionStateNode.getRegionLocation().getServerName() %></td>
                  <%
                      TransitRegionStateProcedure procedure = regionStateNode.getProcedure();
  
  