code: public static Optional<String> stringValue(JsonNode json, String key) {
          return Optional.ofNullable(json.findValue(key)).map(JsonNode::asText);
      }
docs: Resolve a value as a string from the metadata json.
  @param json The json
  @param key The key
  @return An optional value