public final class JSONUtils extends Object
Modifier and Type | Field and Description |
---|---|
static String |
DOUBLE_QUOTE
Constant for char "
|
static String |
SINGLE_QUOTE
Constant for char '
|
Modifier and Type | Method and Description |
---|---|
static String |
convertToJavaIdentifier(String key)
Transforms the string into a valid Java Identifier.
The default strategy is JavaIdentifierTransformer.NOOP |
static String |
convertToJavaIdentifier(String key,
JsonConfig jsonConfig)
Transforms the string into a valid Java Identifier.
The default strategy is JavaIdentifierTransformer.NOOP |
static String |
doubleToString(double d)
Produce a string from a double.
|
static String |
getFunctionBody(String function)
Returns the body of a function literal.
|
static String |
getFunctionParams(String function)
Returns the params of a function literal.
|
static Class |
getInnerComponentType(Class type)
Returns the inner-most component type of an Array.
|
static org.kordamp.ezmorph.MorpherRegistry |
getMorpherRegistry()
Returns the singleton MorpherRegistry.
|
static Map |
getProperties(JSONObject jsonObject)
Creates a Map with all the properties of the JSONObject.
|
static Class |
getTypeClass(Object obj)
Returns the JSON type.
Values are Object, String, Boolean, Number(subclasses) & JSONFunction. |
static int |
hashCode(Object value)
Returns the hashcode of value.
If null it will return JSONNull.getInstance().hashCode(). If value is JSON, JSONFunction or String, value.hashCode is returned, otherwise the value is transformed to a String an its hashcode is returned. |
static boolean |
hasQuotes(String input)
Returns true if the input has single-quotes or double-quotes at both sides.
|
static boolean |
isArray(Class clazz)
Tests if a Class represents an array or Collection.
|
static boolean |
isArray(Object obj)
Tests if obj is an array or Collection.
|
static boolean |
isBoolean(Class clazz)
Tests if Class represents a Boolean or primitive boolean
|
static boolean |
isBoolean(Object obj)
Tests if obj is a Boolean or primitive boolean
|
static boolean |
isDouble(Class clazz)
Tests if Class represents a primitive double or wrapper.
|
static boolean |
isFunction(Object obj)
Tests if obj is javaScript function.
Obj must be a non-null String and match |
static boolean |
isFunctionHeader(Object obj)
Tests if obj is javaScript function header.
Obj must be a non-null String and match "^function[ ]?\\(.\*\)$" |
static boolean |
isJavaIdentifier(String str)
Returns trus if str represents a valid Java identifier.
|
static boolean |
isJsonKeyword(String input,
JsonConfig jsonConfig) |
static boolean |
isNull(Object obj)
Tests if the obj is a javaScript null.
|
static boolean |
isNumber(Class clazz)
Tests if Class represents a primitive number or wrapper.
|
static boolean |
isNumber(Object obj)
Tests if obj is a primitive number or wrapper.
|
static boolean |
isObject(Object obj)
Tests if obj is not a boolean, number, string or array.
|
static boolean |
isString(Class clazz)
Tests if Class represents a String or a char
|
static boolean |
isString(Object obj)
Tests if obj is a String or a char
|
static boolean |
mayBeJSON(String string)
Tests if the String possibly represents a valid JSON String.
Valid JSON strings are: "null" starts with "[" and ends with "]" starts with "{" and ends with "}" |
static org.apache.commons.beanutils.DynaBean |
newDynaBean(JSONObject jsonObject)
Creates a new MorphDynaBean from a JSONObject.
|
static org.apache.commons.beanutils.DynaBean |
newDynaBean(JSONObject jsonObject,
JsonConfig jsonConfig)
Creates a new MorphDynaBean from a JSONObject.
|
static String |
numberToString(Number n)
Produce a string from a Number.
|
static String |
quote(String string)
Produce a string in double quotes with backslash sequences in all the
right places.
|
static String |
quoteCanonical(String s)
Minimal escape form.
|
static String |
stripQuotes(String input)
Strips any single-quotes or double-quotes from both sides of the string.
|
static void |
testValidity(Object o)
Throw an exception if the object is an NaN or infinite number.
|
static Number |
transformNumber(Number input)
Transforms a Number into a valid javascript number.
Float gets promoted to Double. Byte and Short get promoted to Integer. Long gets downgraded to Integer if possible. |
static String |
valueToCanonicalString(Object value) |
static String |
valueToString(Object value)
Make a JSON text of an Object value.
|
static String |
valueToString(Object value,
int indentFactor,
int indent)
Make a prettyprinted JSON text of an object value.
|
public static final String DOUBLE_QUOTE
public static final String SINGLE_QUOTE
public static String convertToJavaIdentifier(String key)
JSONException
- if the string can not be transformed.public static String convertToJavaIdentifier(String key, JsonConfig jsonConfig)
JSONException
- if the string can not be transformed.public static String doubleToString(double d)
d
- A double.public static String getFunctionBody(String function)
public static String getFunctionParams(String function)
public static Class getInnerComponentType(Class type)
public static org.kordamp.ezmorph.MorpherRegistry getMorpherRegistry()
public static Map getProperties(JSONObject jsonObject)
public static Class getTypeClass(Object obj)
public static int hashCode(Object value)
public static boolean isArray(Class clazz)
public static boolean isArray(Object obj)
public static boolean isBoolean(Class clazz)
public static boolean isBoolean(Object obj)
public static boolean isDouble(Class clazz)
public static boolean isFunction(Object obj)
public static boolean isFunctionHeader(Object obj)
public static boolean isJavaIdentifier(String str)
public static boolean isNull(Object obj)
public static boolean isNumber(Class clazz)
public static boolean isNumber(Object obj)
public static boolean isObject(Object obj)
public static boolean isString(Class clazz)
public static boolean isString(Object obj)
public static boolean mayBeJSON(String string)
public static org.apache.commons.beanutils.DynaBean newDynaBean(JSONObject jsonObject)
public static org.apache.commons.beanutils.DynaBean newDynaBean(JSONObject jsonObject, JsonConfig jsonConfig)
public static String numberToString(Number n)
n
- A NumberJSONException
- If n is a non-finite number.public static String quote(String string)
string
- A Stringpublic static String stripQuotes(String input)
public static boolean hasQuotes(String input)
public static boolean isJsonKeyword(String input, JsonConfig jsonConfig)
public static void testValidity(Object o)
o
- The object to test.JSONException
- If o is a non-finite number.public static Number transformNumber(Number input)
public static String valueToString(Object value)
value
- The value to be serialized.{
(left brace)
and ending with }
(right brace).JSONException
- If the value is or contains an invalid number.public static String valueToString(Object value, int indentFactor, int indent)
value
- The value to be serialized.indentFactor
- The number of spaces to add to each level of
indentation.indent
- The indentation of the top level.{
(left brace)
and ending with }
(right brace).JSONException
- If the object contains an invalid number.