Package com.netflix.genie.common.util
Class JsonUtils
java.lang.Object
com.netflix.genie.common.util.JsonUtils
Utility methods for interacting with JSON.
- Since:
- 3.0.0
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic 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 -
Method Summary
Modifier and TypeMethodDescriptionstatic 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.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>
Tunmarshall
(String source, com.fasterxml.jackson.core.type.TypeReference<T> typeReference) Convert a JSON string of a collection back to a Java object.
-
Constructor Details
-
JsonUtils
protected JsonUtils()Protected constructor for a utility class.
-
-
Method Details
-
marshall
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 stringtypeReference
- The type reference of the collection to unmarshall to- Returns:
- The Java object
- Throws:
GenieException
- For any exception during unmarshalling
-
splitArguments
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
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
-