net.sf.json.util
Class JSONUtils
java.lang.Object
net.sf.json.util.JSONUtils
-
public final class JSONUtils
extends Object
Provides useful methods on java objects and JSON values.
-
Version:
-
7
-
Author:
-
Andres Almiray
Field Summary |
staticString |
DOUBLE_QUOTE Constant for char " |
staticString |
SINGLE_QUOTE Constant for char ' |
Method Summary |
staticString |
convertToJavaIdentifier(Stringkey) Transforms the string into a valid Java Identifier. The default strategy is JavaIdentifierTransformer.NOOP |
staticString |
convertToJavaIdentifier(Stringkey, JsonConfigjsonConfig) Transforms the string into a valid Java Identifier. The default strategy is JavaIdentifierTransformer.NOOP |
staticString |
doubleToString(doubled) Produce a string from a double. |
staticString |
getFunctionBody(Stringfunction) Returns the body of a function literal. |
staticString |
getFunctionParams(Stringfunction) Returns the params of a function literal. |
staticClass |
getInnerComponentType(Classtype) Returns the inner-most component type of an Array. |
staticMorpherRegistry |
getMorpherRegistry() Returns the singleton MorpherRegistry. |
staticMap |
getProperties(JSONObjectjsonObject) Creates a Map with all the properties of the JSONObject. |
staticClass |
getTypeClass(Objectobj) Returns the JSON type. Values are Object, String, Boolean, Number(subclasses) & JSONFunction. |
staticint |
hashCode(Objectvalue) 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. |
staticboolean |
hasQuotes(Stringinput) Returns true if the input has single-quotes or double-quotes at both sides. |
staticboolean |
isArray(Classclazz) Tests if a Class represents an array or Collection. |
staticboolean |
isArray(Objectobj) Tests if obj is an array or Collection. |
staticboolean |
isBoolean(Classclazz) Tests if Class represents a Boolean or primitive boolean |
staticboolean |
isBoolean(Objectobj) Tests if obj is a Boolean or primitive boolean |
staticboolean |
isDouble(Classclazz) Tests if Class represents a primitive double or wrapper. |
staticboolean |
isFunction(Objectobj) Tests if obj is javaScript function. Obj must be a non-null String and match "^function[ ]?\\(.\*\)[ ]?\\{.\*\}$" |
staticboolean |
isFunctionHeader(Objectobj) Tests if obj is javaScript function header. Obj must be a non-null String and match "^function[ ]?\\(.\*\)$" |
staticboolean |
isJavaIdentifier(Stringstr) Returns trus if str represents a valid Java identifier. |
staticboolean |
isJsonKeyword(Stringinput, JsonConfigjsonConfig) |
staticboolean |
isNull(Objectobj) Tests if the obj is a javaScript null. |
staticboolean |
isNumber(Classclazz) Tests if Class represents a primitive number or wrapper. |
staticboolean |
isNumber(Objectobj) Tests if obj is a primitive number or wrapper. |
staticboolean |
isObject(Objectobj) Tests if obj is not a boolean, number, string or array. |
staticboolean |
isString(Classclazz) Tests if Class represents a String or a char |
staticboolean |
isString(Objectobj) Tests if obj is a String or a char |
staticboolean |
mayBeJSON(Stringstring) 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 "}" |
staticDynaBean |
newDynaBean(JSONObjectjsonObject) Creates a new MorphDynaBean from a JSONObject. |
staticDynaBean |
newDynaBean(JSONObjectjsonObject, JsonConfigjsonConfig) Creates a new MorphDynaBean from a JSONObject. |
staticString |
numberToString(Numbern) Produce a string from a Number. |
staticString |
quote(Stringstring) Produce a string in double quotes with backslash sequences in all the right places. |
staticString |
stripQuotes(Stringinput) Strips any single-quotes or double-quotes from both sides of the string. |
staticvoid |
testValidity(Objecto) Throw an exception if the object is an NaN or infinite number. |
staticNumber |
transformNumber(Numberinput) 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. |
staticString |
valueToString(Objectvalue) Make a JSON text of an Object value. |
staticString |
valueToString(Objectvalue, intindentFactor, intindent) Make a prettyprinted JSON text of an object value. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DOUBLE_QUOTE
public static final String DOUBLE_QUOTE
-
Constant for char "
-
See Also:
-
Constant Field Values
SINGLE_QUOTE
public static final String SINGLE_QUOTE
-
Constant for char '
-
See Also:
-
Constant Field Values
convertToJavaIdentifier
public static String convertToJavaIdentifier(Stringkey)
-
Transforms the string into a valid Java Identifier.
The default strategy is JavaIdentifierTransformer.NOOP
-
-
Throws:
-
JSONException
- if the string can not be transformed.
convertToJavaIdentifier
public static String convertToJavaIdentifier(Stringkey,
JsonConfigjsonConfig)
-
Transforms the string into a valid Java Identifier.
The default strategy is JavaIdentifierTransformer.NOOP
-
-
Throws:
-
JSONException
- if the string can not be transformed.
doubleToString
public static String doubleToString(doubled)
-
Produce a string from a double. The string "null" will be returned if the number is not finite.
-
-
Parameters:
-
d
- A double.
-
Returns:
-
A String.
getFunctionBody
public static String getFunctionBody(Stringfunction)
-
Returns the body of a function literal.
-
getFunctionParams
public static String getFunctionParams(Stringfunction)
-
Returns the params of a function literal.
-
getInnerComponentType
public static Class getInnerComponentType(Classtype)
-
Returns the inner-most component type of an Array.
-
getMorpherRegistry
public static MorpherRegistry getMorpherRegistry()
-
Returns the singleton MorpherRegistry.
-
getProperties
public static Map getProperties(JSONObjectjsonObject)
-
Creates a Map with all the properties of the JSONObject.
-
getTypeClass
public static Class getTypeClass(Objectobj)
-
Returns the JSON type.
Values are Object, String, Boolean, Number(subclasses) & JSONFunction.
-
hashCode
public static int hashCode(Objectvalue)
-
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.
-
isArray
public static boolean isArray(Classclazz)
-
Tests if a Class represents an array or Collection.
-
isArray
public static boolean isArray(Objectobj)
-
Tests if obj is an array or Collection.
-
isBoolean
public static boolean isBoolean(Classclazz)
-
Tests if Class represents a Boolean or primitive boolean
-
isBoolean
public static boolean isBoolean(Objectobj)
-
Tests if obj is a Boolean or primitive boolean
-
isDouble
public static boolean isDouble(Classclazz)
-
Tests if Class represents a primitive double or wrapper.
-
isFunction
public static boolean isFunction(Objectobj)
-
Tests if obj is javaScript function.
Obj must be a non-null String and match "^function[ ]?\\(.\*\)[ ]?\\{.\*\}$"
-
isFunctionHeader
public static boolean isFunctionHeader(Objectobj)
-
Tests if obj is javaScript function header.
Obj must be a non-null String and match "^function[ ]?\\(.\*\)$"
-
isJavaIdentifier
public static boolean isJavaIdentifier(Stringstr)
-
Returns trus if str represents a valid Java identifier.
-
isNull
public static boolean isNull(Objectobj)
-
Tests if the obj is a javaScript null.
-
isNumber
public static boolean isNumber(Classclazz)
-
Tests if Class represents a primitive number or wrapper.
-
isNumber
public static boolean isNumber(Objectobj)
-
Tests if obj is a primitive number or wrapper.
-
isObject
public static boolean isObject(Objectobj)
-
Tests if obj is not a boolean, number, string or array.
-
isString
public static boolean isString(Classclazz)
-
Tests if Class represents a String or a char
-
isString
public static boolean isString(Objectobj)
-
Tests if obj is a String or a char
-
mayBeJSON
public static boolean mayBeJSON(Stringstring)
-
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 "}"
-
newDynaBean
public static DynaBean newDynaBean(JSONObjectjsonObject)
-
Creates a new MorphDynaBean from a JSONObject. The MorphDynaBean will have all the properties of the original JSONObject with the most accurate type. Values of properties are not copied.
-
newDynaBean
public static DynaBean newDynaBean(JSONObjectjsonObject,
JsonConfigjsonConfig)
-
Creates a new MorphDynaBean from a JSONObject. The MorphDynaBean will have all the properties of the original JSONObject with the most accurate type. Values of properties are not copied.
-
numberToString
public static String numberToString(Numbern)
-
Produce a string from a Number.
-
-
Parameters:
-
n
- A Number
-
Returns:
-
A String.
-
Throws:
-
JSONException
- If n is a non-finite number.
quote
public static String quote(Stringstring)
-
Produce a string in double quotes with backslash sequences in all the right places. A backslash will be inserted within , allowing text to be delivered in HTML. In JSON text, string cannot contain a control character an unescaped or backslash.
CAUTION: if
string
represents a javascript function, translation of characters will not take place. This will produce a non-conformant JSON text.
-
-
Parameters:
-
string
- A String
-
Returns:
-
A String correctly formatted for insertion in a JSON text.
stripQuotes
public static String stripQuotes(Stringinput)
-
Strips any single-quotes or double-quotes from both sides of the string.
-
hasQuotes
public static boolean hasQuotes(Stringinput)
-
Returns true if the input has single-quotes or double-quotes at both sides.
-
isJsonKeyword
public static boolean isJsonKeyword(Stringinput,
JsonConfigjsonConfig)
-
testValidity
public static void testValidity(Objecto)
-
Throw an exception if the object is an NaN or infinite number.
-
-
Parameters:
-
o
- The object to test.
-
Throws:
-
JSONException
- If o is a non-finite number.
transformNumber
public static Number transformNumber(Numberinput)
-
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.
-
valueToString
public static String valueToString(Objectvalue)
-
Make a JSON text of an Object value. If the object has an value.toJSONString() method, then that method will be used to produce the JSON text. The method is required to produce a strictly conforming text. If the object does not contain a toJSONString method (which is the most common case), then a text will be produced by the rules.
Warning: This method assumes that the data structure is acyclical.
-
-
Parameters:
-
value
- The value to be serialized.
-
Returns:
-
a printable, displayable, transmittable representation of the object, beginning with
{
(left brace) and ending with
}
(right brace).
-
Throws:
-
JSONException
- If the value is or contains an invalid number.
valueToString
public static String valueToString(Objectvalue,
intindentFactor,
intindent)
-
Make a prettyprinted JSON text of an object value.
Warning: This method assumes that the data structure is acyclical.
-
-
Parameters:
-
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.
-
Returns:
-
a printable, displayable, transmittable representation of the object, beginning with
{
(left brace) and ending with
}
(right brace).
-
Throws:
-
JSONException
- If the object contains an invalid number.
Overview |
Package |
Class |
Tree |
Deprecated |
Index |
Help |
|
|
PREV CLASS NEXT CLASS |
FRAMES NO FRAMES All Classes |
SUMMARY:NESTED|FIELD|CONSTR|METHOD |
DETAIL:FIELD|CONSTR|METHOD |