Map<?, ?> parseStructuredOutput(String structuredOutput) {
    if (null == structuredOutput || structuredOutput.isEmpty()) {
      return null;
    }

    Map<?, ?> result = null;

    try {
      result = mapper.readValue(structuredOutput, Map.class);
    } catch (Exception excepton) {
      LOG.warn("Unable to parse task structured output: {}", structuredOutput);
    }
    return result;
  }
Converts the specified JSON string into a {@link Map}. For now, use Jackson
instead of gson since none of the integers will convert properly without a
well-defined first-class object to map to.

@param structuredOutput
         the JSON string to convert.
@return the converted JSON as key-value pairs, or {@code null} if an
        exception was encountered or if the JSON string was empty.
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/TaskResourceProvider.java