com.esri.arcgis.system
Class JSONArray

java.lang.Object
  extended by com.esri.arcgis.system.JSONArray
All Implemented Interfaces:
com.esri.arcgis.interop.RemoteObjRef, IJSONArray, ISupportErrorInfo, Serializable

public class JSONArray
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IJSONArray, ISupportErrorInfo

Simplified JSON API coclass

Product Availability

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

See Also:
Serialized Form

Constructor Summary
JSONArray()
          Constructs a JSONArray using ArcGIS Engine.
JSONArray(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
JSONArray theJSONArray = (JSONArray) obj;
 
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.
 boolean equals(Object o)
          Compare this object with another
static String getClsid()
          getClsid.
 int getCount()
          Returns an array size.
 Object getValue(int index)
          Returns an array value at a given index.
 int hashCode()
          the hashcode for this object
 void interfaceSupportsErrorInfo(GUID riid)
          interfaceSupportsErrorInfo
 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.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.esri.arcgis.interop.RemoteObjRef
getJintegraDispatch, release
 

Constructor Detail

JSONArray

public JSONArray()
          throws IOException,
                 UnknownHostException
Constructs a JSONArray using ArcGIS Engine.

Throws:
IOException - if there are interop problems
UnknownHostException - if there are interop problems

JSONArray

public JSONArray(Object obj)
          throws IOException
Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
JSONArray theJSONArray = (JSONArray) obj;

Construct a JSONArray using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to JSONArray.

Parameters:
obj - an object returned from ArcGIS Engine or Server
Throws:
IOException - if there are interop problems
Method Detail

getClsid

public static String getClsid()
getClsid.


equals

public boolean equals(Object o)
Compare this object with another

Overrides:
equals in class Object

hashCode

public int hashCode()
the hashcode for this object

Overrides:
hashCode in class Object

parseString

public 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.

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

parseJSON

public 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.

Specified by:
parseJSON in interface IJSONArray
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

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

Product Availability

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

Specified by:
getCount in interface IJSONArray
Returns:
The count
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getValue

public 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.

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

isValueNull

public 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.

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

tryGetValueAsDate

public 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.

Specified by:
tryGetValueAsDate in interface IJSONArray
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

public 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.

Specified by:
tryGetValueAsBoolean in interface IJSONArray
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

public 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.

Specified by:
tryGetValueAsLong in interface IJSONArray
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

public 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.

Specified by:
tryGetValueAsDouble in interface IJSONArray
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

public 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.

Specified by:
tryGetValueAsString in interface IJSONArray
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

public 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.

Specified by:
tryGetValueAsObject in interface IJSONArray
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

public 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.

Specified by:
tryGetValueAsArray in interface IJSONArray
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

public 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.

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

addDate

public 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.

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

addBoolean

public 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.

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

addLong

public 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.

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

addDouble

public 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.

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

addString

public 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.

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

addNull

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

Product Availability

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

Specified by:
addNull in interface IJSONArray
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addJSONObject

public 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.

Specified by:
addJSONObject in interface IJSONArray
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

public 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.

Specified by:
addJSONArray in interface IJSONArray
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

public 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.

Specified by:
createMemberObject in interface IJSONArray
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

public 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.

Specified by:
createMemberArray in interface IJSONArray
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

public 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.

Specified by:
toJSONString in interface IJSONArray
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

public 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.

Specified by:
toJSON in interface IJSONArray
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

public 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.

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

clearAll

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

Product Availability

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

Specified by:
clearAll in interface IJSONArray
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addDoubleEx

public 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.

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

interfaceSupportsErrorInfo

public void interfaceSupportsErrorInfo(GUID riid)
                                throws IOException,
                                       AutomationException
interfaceSupportsErrorInfo

Description

Indicates whether the interface supports IErrorInfo.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
interfaceSupportsErrorInfo in interface ISupportErrorInfo
Parameters:
riid - A Structure: com.esri.arcgis.support.ms.stdole.GUID (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.