code: @Override // NameNodeMXBean
    public String getDecomNodes() {
      final Map<String, Map<String, Object>> info = 
        new HashMap<String, Map<String, Object>>();
      try {
        final ArrayList<DatanodeDescriptor> decomNodeList = 
          this.getDecommissioningNodesList();
        for (DatanodeDescriptor node : decomNodeList) {
          final Map<String, Object> innerinfo = new HashMap<String, Object>();
          innerinfo.put("underReplicatedBlocks", node.decommissioningStatus
              .getUnderReplicatedBlocks());
          innerinfo.put("decommissionOnlyReplicas", node.decommissioningStatus
              .getDecommissionOnlyReplicas());
          innerinfo.put("underReplicateInOpenFiles", node.decommissioningStatus
              .getUnderReplicatedInOpenFiles());
          info.put(node.getHostName() + ":" + node.getPort(), innerinfo);
        }
      } catch (Exception e) {
        LOG.error("Exception:", e);
      }
      return JSON.toString(info);
    }
docs: Returned information is a JSON representation of map with host name as the
  key and value is a map of decomisioning node attribute keys to its values