Package com.netflix.genie.common.util
Class JsonUtils
- java.lang.Object
-
- com.netflix.genie.common.util.JsonUtils
-
public final class JsonUtils extends java.lang.ObjectUtility methods for interacting with JSON.- Since:
- 3.0.0
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classJsonUtils.InstantMillisecondSerializerTruncate instants to millisecond precision during ISO 8601 serialization to string for backwards compatibility.static classJsonUtils.OptionalInstantMillisecondSerializerTruncate instants to millisecond precision during ISO 8601 serialization to string for backwards compatibility.
-
Constructor Summary
Constructors Modifier Constructor Description protectedJsonUtils()Protected constructor for a utility class.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.StringjoinArguments(java.util.List<java.lang.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 java.lang.Stringmarshall(java.lang.Object value)Convert a Java object to a JSON string.static java.util.List<java.lang.String>splitArguments(java.lang.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 java.util.Collection>
Tunmarshall(java.lang.String source, com.fasterxml.jackson.core.type.TypeReference<T> typeReference)Convert a JSON string of a collection back to a Java object.
-
-
-
Method Detail
-
marshall
public static java.lang.String marshall(java.lang.Object value) throws GenieExceptionConvert 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 java.util.Collection> T unmarshall(java.lang.String source, com.fasterxml.jackson.core.type.TypeReference<T> typeReference) throws GenieExceptionConvert 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 stringtypeReference- The type reference of the collection to unmarshall to- Returns:
- The Java object
- Throws:
GenieException- For any exception during unmarshalling
-
splitArguments
@Nonnull public static java.util.List<java.lang.String> splitArguments(java.lang.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 java.lang.String joinArguments(java.util.List<java.lang.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
-
-