JSONArray
public class JSONArray
extends Object
密集的索引序列值。 值可以是JSONObjects
,其他JSONArrays
,字符串,布尔值,整数,长整数,双null
, null
或NULL
。 值可能不NaNs
, infinities
,或者这里没有列出任何类型的。
JSONArray
与JSONArray
具有相同类型的强制行为和可选/强制访问JSONObject
。 详情请参阅该课程的文档。
警告:此类以两种不兼容的方式表示空值:标准Java null
引用和标记值NULL
。 特别是,如果请求的索引包含空引用,则get
失败,但如果包含JSONObject.NULL
,则JSONObject.NULL
。
这个类的实例不是线程安全的。 虽然这个类是非终结性的,但它不是为继承而设计的,也不应该被继承。 特别是,未指定可覆盖方法的自用。 有关更多信息,请参见有效Java项目17“设计和文档或继承或禁止它”。
Summary
Public methods |
boolean |
equals(Object o) 指示其他某个对象是否“等于”这一个。 |
Object |
get(int index) 返回值为 index 。 |
boolean |
getBoolean(int index) 返回 index 的值(如果它存在并且是布尔值或可以强制为布尔值)。 |
double |
getDouble(int index) 返回 index 的值(如果它存在并且是双 index 值或可以强制为双 index 值)。 |
int |
getInt(int index) 如果存在且返回值为 index 且为int或可强制为int。 |
JSONArray |
getJSONArray(int index) 如果存在,则返回 index 处的值, index 该值为 JSONArray 。 |
JSONObject |
getJSONObject(int index) 如果存在,则返回 index 处的值, index 该值为 JSONObject 。 |
long |
getLong(int index) 如果它存在且返回值为 index 且长或可被强制为长。 |
String |
getString(int index) 如果存在,则返回 index 处的值,必要时强制执行。 |
int |
hashCode() 返回对象的哈希码值。 |
boolean |
isNull(int index) 如果此数组在 index 处没有值,或者其值为 null 引用或 NULL ,则返回true。 |
String |
join(String separator) 通过将此数组的值与 separator 交替来返回一个新字符串。 |
int |
length() 返回此数组中的值的数量。 |
Object |
opt(int index) 返回 index 处的值;如果数组在 index 处没有值,则返回null。 |
boolean |
optBoolean(int index) 返回 index 的值(如果它存在并且是布尔值或可以强制为布尔值)。 |
boolean |
optBoolean(int index, boolean fallback) 如果它存在且返回值为 index 且为布尔值或可强制为布尔值。 |
double |
optDouble(int index) 返回 index 的值(如果它存在并且是双 index 值或可以强制为双 index 值)。 |
double |
optDouble(int index, double fallback) 返回 index 的值(如果它存在并且是双 index 值或可以强制为双 index 值)。 |
int |
optInt(int index) 如果存在且返回值为 index 且为int或可强制为int。 |
int |
optInt(int index, int fallback) 如果它存在且返回值为 index 且为int或可强制为int。 |
JSONArray |
optJSONArray(int index) 如果存在,则返回值为 index ,并且该 JSONArray 。 |
JSONObject |
optJSONObject(int index) 如果存在且返回值为 index 则返回值为 JSONObject 。 |
long |
optLong(int index) 如果它存在且返回值为 index ,则为长或可被强制为长。 |
long |
optLong(int index, long fallback) 如果它存在且返回值为 index ,则为长或可被强制为长。 |
String |
optString(int index) 如果存在,则返回 index 处的值,必要时 index 使用该值。 |
String |
optString(int index, String fallback) 如果存在,则返回 index 处的值,必要时强制执行。 |
JSONArray |
put(int value) 追加 value 到这个数组的末尾。 |
JSONArray |
put(long value) 追加 value 到这个数组的末尾。 |
JSONArray |
put(int index, boolean value) 将值设置为 index 为 value ,如果需要,则将该数组填充为所需的长度。 |
JSONArray |
put(double value) 追加 value 到这个数组的末尾。 |
JSONArray |
put(int index, Object value) 将值设置为 index 为 value ,如果需要,则将该数组填充为所需的长度。 |
JSONArray |
put(int index, long value) 将值 index 设置为 value ,如果需要,则将该数组填充为所需的长度。 |
JSONArray |
put(int index, int value) 将值 index 设置为 value ,如果需要,则将该数组填充为所需的长度。 |
JSONArray |
put(boolean value) 追加 value 到这个数组的末尾。 |
JSONArray |
put(int index, double value) 将值设置为 index 为 value ,如果需要,则将该数组填充为所需的长度。 |
JSONArray |
put(Object value) 追加 value 到这个数组的末尾。 |
Object |
remove(int index) 删除并返回值 index ;如果数组在 index 处没有值,则返回null。 |
JSONObject |
toJSONObject(JSONArray names) 返回值为该数组中值的新对象,其名称为 names 中的值。 |
String |
toString() 将此数组编码为紧凑的JSON字符串,例如: [94043,90210] |
String |
toString(int indentSpaces) 将此数组编码为可供人类阅读的JSON字符串以进行调试,例如:
[
94043,
90210
] |
Public constructors
JSONArray
JSONArray ()
创建一个没有值的 JSONArray
。
JSONArray
JSONArray (Collection copyFrom)
通过复制给定集合中的所有值来创建新的 JSONArray
。
Parameters |
copyFrom |
Collection : a collection whose values are of supported types. Unsupported values are not permitted and will yield an array in an inconsistent state. |
JSONArray
JSONArray (JSONTokener readFrom)
用 JSONArray
的下一个数组创建一个新的JSONArray。
Parameters |
readFrom |
JSONTokener : a tokener whose nextValue() method will yield a JSONArray . |
Throws |
JSONException |
if the parse fails or doesn't yield a JSONArray . |
JSONArray
JSONArray (String json)
使用JSON字符串中的值创建一个新的 JSONArray
。
Parameters |
json |
String : a JSON-encoded string containing an array. |
Throws |
JSONException |
if the parse fails or doesn't yield a JSONArray . |
JSONArray
JSONArray (Object array)
用给定基本数组的值创建一个新的 JSONArray
。
Public methods
equals
boolean equals (Object o)
指示其他某个对象是否“等于”这一个。
equals
方法在非空对象引用上实现等价关系:
- It is reflexive: for any non-null reference value
x
, x.equals(x)
should return true
.
- It is symmetric: for any non-null reference values
x
and y
, x.equals(y)
should return true
if and only if y.equals(x)
returns true
.
- It is transitive: for any non-null reference values
x
, y
, and z
, if x.equals(y)
returns true
and y.equals(z)
returns true
, then x.equals(z)
should return true
.
- It is consistent: for any non-null reference values
x
and y
, multiple invocations of x.equals(y)
consistently return true
or consistently return false
, provided no information used in equals
comparisons on the objects is modified.
- For any non-null reference value
x
, x.equals(null)
should return false
.
类Object
的equals
方法实现了对象上最可能的等价关系; 也就是说,对于任何非空参考值x
和y
,当且仅当x
和y
引用同一对象( x == y
的值为true
)时,此方法返回true
。
请注意,无论何时重写此方法,通常都需要重写 hashCode
方法,以维护 hashCode
方法的一般合约,该方法声明相等对象必须具有相同的哈希码。
Parameters |
o |
Object : the reference object with which to compare. |
Returns |
boolean |
true if this object is the same as the obj argument; false otherwise. |
get
Object get (int index)
返回值为 index
。
Throws |
JSONException |
if this array has no value at index , or if that value is the null reference. This method returns normally if the value is JSONObject#NULL . |
getBoolean
boolean getBoolean (int index)
如果它存在且返回值为 index
并且是布尔值或可以强制为布尔值。
Throws |
JSONException |
if the value at index doesn't exist or cannot be coerced to a boolean. |
getDouble
double getDouble (int index)
如果它存在且返回 index
则返回值为double或可强制为double。
Throws |
JSONException |
if the value at index doesn't exist or cannot be coerced to a double. |
getInt
int getInt (int index)
如果它存在并且是一个int或可以强制为一个int,则返回 index
处的值。
Throws |
JSONException |
if the value at index doesn't exist or cannot be coerced to a int. |
getJSONArray
JSONArray getJSONArray (int index)
如果存在,则返回 index
处的值, index
该值为 JSONArray
。
Throws |
JSONException |
if the value doesn't exist or is not a JSONArray . |
getJSONObject
JSONObject getJSONObject (int index)
如果存在,则返回 index
处的值, index
该值为 JSONObject
。
Throws |
JSONException |
if the value doesn't exist or is not a JSONObject . |
getLong
long getLong (int index)
如果它存在且返回值为 index
则该值为long或可被强制为long。
Throws |
JSONException |
if the value at index doesn't exist or cannot be coerced to a long. |
getString
String getString (int index)
如果存在,则返回 index
处的值,必要时强制执行。
hashCode
int hashCode ()
返回对象的哈希码值。 为了散列表的好处而支持该方法,例如由HashMap
提供的HashMap
。
一般合同 hashCode
是:
- Whenever it is invoked on the same object more than once during an execution of a Java application, the
hashCode
method must consistently return the same integer, provided no information used in equals
comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
- If two objects are equal according to the
equals(Object)
method, then calling the hashCode
method on each of the two objects must produce the same integer result.
- It is not required that if two objects are unequal according to the
equals(java.lang.Object)
method, then calling the hashCode
method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.
尽可能合理实用,由类Object
定义的hashCode方法确实为不同的对象返回不同的整数。 (这通常通过将对象的内部地址转换为整数来实现,但Java TM编程语言不需要此实现技术。)
Returns |
int |
a hash code value for this object. |
isNull
boolean isNull (int index)
如果此数组在 index
处没有值,或者其值为 null
引用或 NULL
,则返回true。
join
String join (String separator)
将此数组的值与separator
交替返回一个新字符串。 该数组的字符串值被引用并且其特殊字符被转义。 例如,在'+'上加入包含字符串“12”pizza,'taco'和'soda'的数组返回:
"12\" pizza"+"taco"+"soda"
Parameters |
separator |
String
|
length
int length ()
返回此数组中的值的数量。
opt
Object opt (int index)
返回 index
处的值;如果数组在 index
处没有值,则返回null。
optBoolean
boolean optBoolean (int index)
返回index
的值(如果它存在并且是布尔值或可以强制为布尔值)。 否则返回false。
optBoolean
boolean optBoolean (int index,
boolean fallback)
如果它存在且返回值为index
且为布尔值或可强制为布尔值。 否则返回fallback
。
Parameters |
index |
int
|
fallback |
boolean
|
optDouble
double optDouble (int index)
如果它存在且返回值为index
,则为double或可强制为double。 否则返回NaN
。
optDouble
double optDouble (int index,
double fallback)
如果它存在且返回值为index
则返回值为double或可强制为double。 否则返回fallback
。
Parameters |
index |
int
|
fallback |
double
|
optInt
int optInt (int index)
如果它存在且返回值为index
且为int或可强制为int。 否则返回0。
optInt
int optInt (int index,
int fallback)
如果存在且返回值为index
且为int或可强制为int。 否则返回fallback
。
Parameters |
index |
int
|
fallback |
int
|
optJSONArray
JSONArray optJSONArray (int index)
如果存在,则返回index
处的值, index
该值为JSONArray
。 否则返回null。
optJSONObject
JSONObject optJSONObject (int index)
如果存在,则返回index
处的值, index
该值为JSONObject
。 否则返回null。
optLong
long optLong (int index)
如果它存在且返回值为index
,并且长或可被强制为长。 否则返回0。
optLong
long optLong (int index,
long fallback)
如果它存在且返回值为index
且长或可被强制为长。 否则返回fallback
。
Parameters |
index |
int
|
fallback |
long
|
optString
String optString (int index)
如果存在,则返回index
处的值,必要时index
该值。 如果不存在这样的值,则返回空字符串。
optString
String optString (int index,
String fallback)
如果存在,则返回index
处的值,必要时强制执行。 如果不存在这样的值,则返回fallback
。
Parameters |
index |
int
|
fallback |
String
|
put
JSONArray put (int value)
追加 value
到这个数组的末尾。
put
JSONArray put (long value)
追加 value
到这个数组的末尾。
put
JSONArray put (int index,
boolean value)
将值index
设置为value
,如果需要,则将该数组填充为所需的长度。 如果一个值已经存在于index
,它将被替换。
Parameters |
index |
int
|
value |
boolean
|
put
JSONArray put (double value)
追加 value
到这个数组的末尾。
Parameters |
value |
double : a finite value. May not be NaNs or infinities . |
put
JSONArray put (int index,
Object value)
将值设置为index
到value
,如果需要,则将该数组填充为所需的长度。 如果一个值已经存在于index
,它将被替换。
put
JSONArray put (int index,
long value)
将值index
设置为value
,如果需要,则将该数组填充为所需的长度。 如果一个值已经存在于index
,它将被替换。
Parameters |
index |
int
|
value |
long
|
put
JSONArray put (int index,
int value)
将值index
设置为value
,如果需要,则将该数组填充为所需的长度。 如果一个值已经存在于index
,它将被替换。
Parameters |
index |
int
|
value |
int
|
put
JSONArray put (boolean value)
追加 value
到这个数组的末尾。
put
JSONArray put (int index,
double value)
将值index
设置为value
,如果需要,则将该数组填充为所需的长度。 如果一个值已经存在于index
,它将被替换。
Parameters |
index |
int
|
value |
double : a finite value. May not be NaNs or infinities . |
put
JSONArray put (Object value)
追加 value
到这个数组的末尾。
Parameters |
value |
Object : a JSONObject , JSONArray , String, Boolean, Integer, Long, Double, NULL , or null . May not be NaNs or infinities . Unsupported values are not permitted and will cause the array to be in an inconsistent state. |
remove
Object remove (int index)
移除并返回 index
处的值;如果数组在 index
处没有值,则返回null。
toJSONObject
JSONObject toJSONObject (JSONArray names)
返回值为该数组中值的新对象,其名称为names
中的值。 名称和值通过索引从0到更短的数组长度配对。 不是字符串的名称将被强制转换为字符串。 如果任何数组为空,此方法返回null。
Parameters |
names |
JSONArray
|
toString
String toString ()
将此数组编码为紧凑的JSON字符串,例如:
[94043,90210]
Returns |
String |
a string representation of the object. |
toString
String toString (int indentSpaces)
将此数组编码为可供人类阅读的JSON字符串以进行调试,例如:
[
94043,
90210
]
Parameters |
indentSpaces |
int : the number of spaces to indent for each level of nesting. |