Class JsonUtils

java.lang.Object
com.netflix.genie.common.util.JsonUtils

public final class JsonUtils extends Object
Utility methods for interacting with JSON.
Since:
3.0.0
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
    Truncate instants to millisecond precision during ISO 8601 serialization to string for backwards compatibility.
    static class 
    Truncate instants to millisecond precision during ISO 8601 serialization to string for backwards compatibility.
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    Protected constructor for a utility class.
  • Method Summary

    Modifier and Type
    Method
    Description
    static String
    joinArguments(List<String> commandArgs)
    Given an ordered list of command line arguments join them back together as a space delimited String where each argument is wrapped in '.
    static String
    Convert a Java object to a JSON string.
    static List<String>
    splitArguments(String commandArgs)
    Given a flat string of command line arguments this method will attempt to tokenize the string and split it for use in DTOs.
    static <T extends Collection>
    T
    unmarshall(String source, com.fasterxml.jackson.core.type.TypeReference<T> typeReference)
    Convert a JSON string of a collection back to a Java object.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • JsonUtils

      protected JsonUtils()
      Protected constructor for a utility class.
  • Method Details

    • marshall

      public static String marshall(Object value) throws GenieException
      Convert a Java object to a JSON string.
      Parameters:
      value - The Java object to marshall
      Returns:
      The JSON string
      Throws:
      GenieException - For any marshalling exception
    • unmarshall

      public static <T extends Collection> T unmarshall(String source, com.fasterxml.jackson.core.type.TypeReference<T> typeReference) throws GenieException
      Convert a JSON string of a collection back to a Java object.
      Type Parameters:
      T - The type of the collection ie Set of String
      Parameters:
      source - The JSON string
      typeReference - The type reference of the collection to unmarshall to
      Returns:
      The Java object
      Throws:
      GenieException - For any exception during unmarshalling
    • splitArguments

      @Nonnull public static List<String> splitArguments(String commandArgs)
      Given a flat string of command line arguments this method will attempt to tokenize the string and split it for use in DTOs. The split will occur on whitespace (tab, space, new line, carriage return) while respecting single quotes to keep those elements together.

      Example: "/bin/bash -xc 'echo "hello" world!'" results in ["/bin/bash", "-xc", "echo "hello" world!"]

      Parameters:
      commandArgs - The original string representation of the command arguments
      Returns:
      An ordered list of arguments
    • joinArguments

      @Nullable public static String joinArguments(List<String> commandArgs)
      Given an ordered list of command line arguments join them back together as a space delimited String where each argument is wrapped in '.
      Parameters:
      commandArgs - The command arguments to join back together
      Returns:
      The command arguments joined together or null if there weren't any arguments