com.esri.arcgis.system
Interface IJSONArray

All Superinterfaces:
Serializable
All Known Implementing Classes:
JSONArray

public interface IJSONArray
extends Serializable

Provides simplified DOM-like JSON serialization and de-serialization API.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.


Method Summary
 void add(Object value)
          Adds new variant value to the array.
 void addBoolean(boolean value)
          Adds new boolean value to the array.
 void addDate(Date value)
          Adds new DATE value to the array.
 void addDouble(double value)
          Adds new double value to the array.
 void addDoubleEx(double value, int precision)
          Adds new double value to the array.
 void addJSONArray(IJSONArray value)
          Adds new nested array to the array.
 void addJSONObject(IJSONObject value)
          Adds new nested object to the array.
 void addLong(int value)
          Adds new long value to the array.
 void addNull()
          Adds new null value to the array.
 void addString(String value)
          Adds new string value to the array.
 void clearAll()
          Removes all values.
 void createMemberArray(IJSONArray[] value)
          Creates and adds new member to the member collection.
 void createMemberObject(IJSONObject[] value)
          Creates and adds new member to the member collection.
 int getCount()
          Returns an array size.
 Object getValue(int index)
          Returns an array value at a given index.
 boolean isValueNull(int index)
          Checks if an array value at a given index is NULL.
 void parseJSON(IJSONReader pReader)
          Parses JSON array from IJSONReader into memory.
 void parseString(String json)
          Parses JSON array from string into memory.
 void removeValue(int index)
          Remove a value from the member collection.
 void toJSON(String objectName, IJSONWriter pWriter)
          Converts IJSONArray to JSON representation using provided IJSONWriter.
 String toJSONString(IPropertySet props)
          Converts IJSONArray to JSON representation using IJSONWriter internally.
 boolean tryGetValueAsArray(int index, IJSONArray[] value)
          Returns array value at a given index as IJSONArray.
 boolean tryGetValueAsBoolean(int index, boolean[] value)
          Returns array value at a given index as boolean.
 boolean tryGetValueAsDate(int index, Date[] value)
          Returns array value at a given index as DATE.
 boolean tryGetValueAsDouble(int index, double[] value)
          Returns array value at a given index as double.
 boolean tryGetValueAsLong(int index, int[] value)
          Returns array value at a given index as long.
 boolean tryGetValueAsObject(int index, IJSONObject[] value)
          Returns array value at a given index as IJSONObject.
 boolean tryGetValueAsString(int index, String[] value)
          Returns array value at a given index as string.
 

Method Detail

parseString

void parseString(String json)
                 throws IOException,
                        AutomationException
Parses JSON array from string into memory.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
json - The json (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

parseJSON

void parseJSON(IJSONReader pReader)
               throws IOException,
                      AutomationException
Parses JSON array from IJSONReader into memory. Useful if you want to have random acces to just a part of a JSON.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
pReader - A reference to a com.esri.arcgis.system.IJSONReader (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCount

int getCount()
             throws IOException,
                    AutomationException
Returns an array size.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
The count
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getValue

Object getValue(int index)
                throws IOException,
                       AutomationException
Returns an array value at a given index. Returns E_INVALIDARG if index is out of bounds.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
index - The index (in)
Returns:
A Variant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isValueNull

boolean isValueNull(int index)
                    throws IOException,
                           AutomationException
Checks if an array value at a given index is NULL.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
index - The index (in)
Returns:
The value
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

tryGetValueAsDate

boolean tryGetValueAsDate(int index,
                          Date[] value)
                          throws IOException,
                                 AutomationException
Returns array value at a given index as DATE. If index is out of bounds or type coercion fails, returns VARIANT_FALSE in 'success' parameter.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
index - The index (in)
value - The value (out: use single element array)
Returns:
The success
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

tryGetValueAsBoolean

boolean tryGetValueAsBoolean(int index,
                             boolean[] value)
                             throws IOException,
                                    AutomationException
Returns array value at a given index as boolean. If index is out of bounds or type coercion fails, returns VARIANT_FALSE in 'success' parameter.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
index - The index (in)
value - The value (out: use single element array)
Returns:
The success
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

tryGetValueAsLong

boolean tryGetValueAsLong(int index,
                          int[] value)
                          throws IOException,
                                 AutomationException
Returns array value at a given index as long. If index is out of bounds or type coercion fails, returns VARIANT_FALSE in 'success' parameter.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
index - The index (in)
value - The value (out: use single element array)
Returns:
The success
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

tryGetValueAsDouble

boolean tryGetValueAsDouble(int index,
                            double[] value)
                            throws IOException,
                                   AutomationException
Returns array value at a given index as double. If index is out of bounds or type coercion fails, returns VARIANT_FALSE in 'success' parameter.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
index - The index (in)
value - The value (out: use single element array)
Returns:
The success
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

tryGetValueAsString

boolean tryGetValueAsString(int index,
                            String[] value)
                            throws IOException,
                                   AutomationException
Returns array value at a given index as string. If index is out of bounds or type coercion fails, returns VARIANT_FALSE in 'success' parameter.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
index - The index (in)
value - The value (out: use single element array)
Returns:
The success
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

tryGetValueAsObject

boolean tryGetValueAsObject(int index,
                            IJSONObject[] value)
                            throws IOException,
                                   AutomationException
Returns array value at a given index as IJSONObject. If index is out of bounds or type coercion fails, returns VARIANT_FALSE in 'success' parameter.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
index - The index (in)
value - A reference to a com.esri.arcgis.system.IJSONObject (out: use single element array)
Returns:
The success
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

tryGetValueAsArray

boolean tryGetValueAsArray(int index,
                           IJSONArray[] value)
                           throws IOException,
                                  AutomationException
Returns array value at a given index as IJSONArray. If index is out of bounds or type coercion fails, returns VARIANT_FALSE in 'success' parameter.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
index - The index (in)
value - A reference to a com.esri.arcgis.system.IJSONArray (out: use single element array)
Returns:
The success
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

add

void add(Object value)
         throws IOException,
                AutomationException
Adds new variant value to the array.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
value - A Variant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addDate

void addDate(Date value)
             throws IOException,
                    AutomationException
Adds new DATE value to the array.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
value - The value (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addBoolean

void addBoolean(boolean value)
                throws IOException,
                       AutomationException
Adds new boolean value to the array.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
value - The value (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addLong

void addLong(int value)
             throws IOException,
                    AutomationException
Adds new long value to the array.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
value - The value (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addDouble

void addDouble(double value)
               throws IOException,
                      AutomationException
Adds new double value to the array.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
value - The value (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addString

void addString(String value)
               throws IOException,
                      AutomationException
Adds new string value to the array.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
value - The value (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addNull

void addNull()
             throws IOException,
                    AutomationException
Adds new null value to the array.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addJSONObject

void addJSONObject(IJSONObject value)
                   throws IOException,
                          AutomationException
Adds new nested object to the array.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
value - A reference to a com.esri.arcgis.system.IJSONObject (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addJSONArray

void addJSONArray(IJSONArray value)
                  throws IOException,
                         AutomationException
Adds new nested array to the array.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
value - A reference to a com.esri.arcgis.system.IJSONArray (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

createMemberObject

void createMemberObject(IJSONObject[] value)
                        throws IOException,
                               AutomationException
Creates and adds new member to the member collection. Returns E_FAIL if creation of the member fails.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
value - A reference to a com.esri.arcgis.system.IJSONObject (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

createMemberArray

void createMemberArray(IJSONArray[] value)
                       throws IOException,
                              AutomationException
Creates and adds new member to the member collection. Returns E_FAIL if creation of the member fails.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
value - A reference to a com.esri.arcgis.system.IJSONArray (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

toJSONString

String toJSONString(IPropertySet props)
                    throws IOException,
                           AutomationException
Converts IJSONArray to JSON representation using IJSONWriter internally. 'props' parameter is to control IJSONWriter properties. It's safe to set it to NULL.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
props - A reference to a com.esri.arcgis.system.IPropertySet (in)
Returns:
The outStr
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

toJSON

void toJSON(String objectName,
            IJSONWriter pWriter)
            throws IOException,
                   AutomationException
Converts IJSONArray to JSON representation using provided IJSONWriter. Useful when you have complex JSON response you want to combine from the output of several methods.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
objectName - The objectName (in)
pWriter - A reference to a com.esri.arcgis.system.IJSONWriter (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

removeValue

void removeValue(int index)
                 throws IOException,
                        AutomationException
Remove a value from the member collection.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
index - The index (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

clearAll

void clearAll()
              throws IOException,
                     AutomationException
Removes all values.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addDoubleEx

void addDoubleEx(double value,
                 int precision)
                 throws IOException,
                        AutomationException
Adds new double value to the array. Stores precision for use in ToJSON and ToJSONString

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
value - The value (in)
precision - The precision (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.