Package org.apache.geode.pdx
Class JSONFormatter
java.lang.Object
org.apache.geode.pdx.JSONFormatter
JSONFormatter has a static method fromJSON(String, String...) to convert a
JSON document into a PdxInstance and a static method
toJSON(PdxInstance) to convert a PdxInstance into a JSON Document.
Using these methods an applications may convert a JSON document into a PdxInstance for storing in the cache. Indexes can then be defined on the PdxInstances so that queries can be performed using OQL. Queries will return PdxInstances and these can be turned back back into JSON documents using JSONFormatter.
JSONFormatter treats values in a json document as number(byte, short, int, long..), string, array, object, 'true', 'false' or 'null'. These correspond to the following java types:
| JSON | Java |
|---|---|
| object | PdxInstance |
| arrays | LinkedList |
| BigDecimal | BigDecimal |
| BigInterger | BigInteger |
| Double | double |
| float | float |
| boolean | boolean |
| Integer | byte, short or int |
| null | null |
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic PdxInstancefromJSON(byte[] jsonByteArray) Converts a Byte Array JSON document into a PdxInstancestatic PdxInstanceConverts a Byte Array JSON document into a PdxInstancestatic PdxInstanceConverts a String JSON document into a PdxInstancestatic PdxInstanceConverts a String JSON document into a PdxInstancefromPdxInstance(PdxInstance pdxInstance) Converts a PdxInstance into a JSON documentstatic StringtoJSON(PdxInstance pdxInstance) Converts a PdxInstance into a JSON document in String formstatic byte[]toJSONByteArray(PdxInstance pdxInstance) Converts a PdxInstance into a JSON document in byte-array formbyte[]toJsonByteArrayFromPdxInstance(PdxInstance pdxInstance) Converts a PdxInstance into a JSON document in byte-array formtoPdxInstance(Object json, String... identityFields) Converts a JSON document (String or Byte Array) into a PdxInstance
-
Field Details
-
JSON_CLASSNAME
- See Also:
-
SORT_JSON_FIELD_NAMES_PROPERTY
By setting "gemfire.sort-json-field-names" to true, enables serialization of JSON field in JSON document to be sorted. That can help to reduce the number of pdx typeId generation if different JSON documents have same fields in the different order.- See Also:
-
-
Constructor Details
-
JSONFormatter
public JSONFormatter() -
JSONFormatter
-
-
Method Details
-
getRegionService
-
fromJSON
Converts a String JSON document into a PdxInstance- Parameters:
jsonString- The JSON String to convert to PDX- Returns:
- The PdxInstance
- Throws:
JSONFormatterException- if unable to create the PdxInstance
-
fromJSON
Converts a String JSON document into a PdxInstance- Parameters:
jsonString- The JSON String to convert to PDXidentityFields- Any desired identity fields on the JSON object to be used for equals and hashCode computations- Returns:
- The PdxInstance
- Throws:
JSONFormatterException- if unable to create the PdxInstance
-
fromJSON
Converts a Byte Array JSON document into a PdxInstance- Parameters:
jsonByteArray- The JSON Object as a byte array to convert to PDX- Returns:
- The PdxInstance
- Throws:
JSONFormatterException- if unable to create the PdxInstance
-
fromJSON
Converts a Byte Array JSON document into a PdxInstance- Parameters:
jsonByteArray- The JSON Object as a byte array to convert to PDXidentityFields- Any desired identity fields on the JSON object to be used for equals and hashCode computations- Returns:
- The PdxInstance
- Throws:
JSONFormatterException- if unable to create the PdxInstance
-
toPdxInstance
Converts a JSON document (String or Byte Array) into a PdxInstance- Parameters:
json- The JSON document (String or Byte Array) to convert to PDXidentityFields- Any desired identity fields on the JSON object to be used for equals and hashCode computations- Returns:
- The PdxInstance
- Throws:
JSONFormatterException- if unable to create the PdxInstance
-
toJSON
Converts a PdxInstance into a JSON document in String form- Parameters:
pdxInstance- the JSON string.- Returns:
- the JSON string JSONFormatterException if unable to create the JSON document
-
fromPdxInstance
Converts a PdxInstance into a JSON document- Parameters:
pdxInstance- The PdxInstance to convert- Returns:
- the JSON string
- Throws:
JSONFormatterException- if unable to create the JSON document
-
toJSONByteArray
Converts a PdxInstance into a JSON document in byte-array form- Parameters:
pdxInstance- The PdxInstance to convert- Returns:
- the JSON byte array
- Throws:
JSONFormatterException- if unable to create the JSON document
-
toJsonByteArrayFromPdxInstance
Converts a PdxInstance into a JSON document in byte-array form- Parameters:
pdxInstance- The PdxInstance to convert- Returns:
- the JSON byte array
- Throws:
JSONFormatterException- if unable to create the JSON document
-