Most visited

Recently visited

Added in API level 1

JSONObject

public class JSONObject
extends Object

java.lang.Object
   ↳ org.json.JSONObject


一组可修改的名称/值映射。 名称是唯一的非空字符串。 值可以是任意搭配JSONObjectsJSONArrays ,字符串,布尔,整型,长,双打或NULL 值可能不nullNaNsinfinities ,或者这里没有列出任何类型的。

请求时,此类可将值强制为另一种类型。

这个类可以查找强制值和可选值:

警告:此类以两种不兼容的方式表示空值:标准Java null引用和标记值NULL 特别是,调用put(name, null)会从对象中删除指定的条目,但put(name, JSONObject.NULL)存储值为JSONObject.NULL的条目。

这个类的实例不是线程安全的。 虽然这个类是非终结性的,但它不是为继承而设计的,也不应该被继承。 特别是,没有指定可覆盖方法的自我使用。 有关更多信息,请参见有效Java项目17“设计和文档或继承或禁止它”。

Summary

Fields

public static final Object NULL

标记值用于明确定义没有值的名称。

Public constructors

JSONObject()

创建一个没有名称/值映射的 JSONObject

JSONObject(Map copyFrom)

通过复制给定映射中的所有名称/值映射来创建新的 JSONObject

JSONObject(JSONTokener readFrom)

创建一个新 JSONObject与从tokener的下一个对象的名称/值映射。

JSONObject(String json)

使用JSON字符串中的名称/值映射创建新的 JSONObject

JSONObject(JSONObject copyFrom, String[] names)

通过复制给定对象中列出名称的映射来创建新的 JSONObject

Public methods

JSONObject accumulate(String name, Object value)

value附加到已映射到 name的阵列。

Object get(String name)

返回由 name映射的值,或者如果不存在这样的映射则抛出。

boolean getBoolean(String name)

返回 name映射的值(如果它存在并且是布尔值,或者可以强制为布尔值),否则返回。

double getDouble(String name)

如果它存在且返回值为 name ,则为double,或者可以强制为double,否则返回。

int getInt(String name)

如果它存在且返回值为 name则该值为int或可强制为int,否则返回。

JSONArray getJSONArray(String name)

如果它存在并且是 JSONArray ,则返回由 name映射的值,否则返回。

JSONObject getJSONObject(String name)

返回 name映射的值(如果它存在且为 JSONObject ,否则返回。

long getLong(String name)

返回 name映射的值,如果它存在并且很长或者可以被强制为一个long或否则抛出。

String getString(String name)

如果存在,则返回由 name映射的值,如有必要则强制该值,如果不存在此类映射,则返回该值。

boolean has(String name)

如果此对象具有 name的映射,则返回true。

boolean isNull(String name)

如果这个对象有没有映射,则返回true name ,或者如果它有一个映射,其值是 NULL

Iterator<String> keys()

返回此对象中 String名称的迭代器。

int length()

返回此对象中的名称/值映射的数量。

JSONArray names()

返回包含此对象中字符串名称的数组。

static String numberToString(Number number)

将数字编码为JSON字符串。

Object opt(String name)

返回由 name映射的值,如果不存在此类映射,则返回null。

boolean optBoolean(String name, boolean fallback)

返回 name映射的值(如果它存在并且是布尔值或可以强制为布尔值),否则 fallback

boolean optBoolean(String name)

如果存在并且是布尔值,则返回由 name映射的值,或者可以强制为布尔值,否则返回false。

double optDouble(String name, double fallback)

返回由 name映射的值(如果它存在并且是双 name值或可以强制为双 fallback否则 fallback

double optDouble(String name)

返回 name映射的值(如果它存在并且是双 name值或可以强制为双 NaN否则 NaN

int optInt(String name, int fallback)

返回 name映射的值(如果它存在并且是一个int或可以强制为int),否则 fallback

int optInt(String name)

如果它存在且返回值为 name则该值为int或可强制为int,否则返回0。

JSONArray optJSONArray(String name)

返回 name映射的值(如果它存在且为 JSONArray ,否则返回null。

JSONObject optJSONObject(String name)

返回 name映射的值(如果它存在且为 JSONObject ,否则返回null。

long optLong(String name)

如果它存在且返回值为 name则返回值为long或可强制为long,否则返回0。

long optLong(String name, long fallback)

返回 name映射的值,如果它存在并且很长,或者可以强制为长 fallback否则 fallback

String optString(String name, String fallback)

如果存在,则返回由 name映射的值,如有必要则强制 name该值,如果不存在此类映射,则 fallback

String optString(String name)

如果存在,则返回由 name映射的值,如有必要则强制 name该值,如果不存在此类映射,则返回空字符串。

JSONObject put(String name, double value)

映射 namevalue ,用相同的名称对任何现有的名称/值映射进行破坏。

JSONObject put(String name, boolean value)

地图 namevalue ,以同名的名称对任何现有的名称/值映射进行破坏。

JSONObject put(String name, int value)

地图 namevalue ,以相同的名称对任何现有名称/值映射进行破坏。

JSONObject put(String name, long value)

地图 namevalue ,以同名的名称对所有现有名称/值映射进行破坏。

JSONObject put(String name, Object value)

映射 namevalue ,用相同的名称对任何现有的名称/值映射进行破坏。

JSONObject putOpt(String name, Object value)

等于put(name, value)当两个参数都非空时; 否则什么也不做。

static String quote(String data)

data编码为JSON字符串。

Object remove(String name)

删除指定的映射(如果存在); 否则什么也不做。

JSONArray toJSONArray(JSONArray names)

返回值为 names的数组。

String toString()

将此对象编码为紧凑的JSON字符串,例如:

{"query":"Pizza","locations":[94043,90210]}

String toString(int indentSpaces)

将此对象编码为用于调试的可读JSON字符串,例如:

 {
     "query": "Pizza",
     "locations": [
         94043,
         90210
     ]
 }

static Object wrap(Object o)

必要时包裹给定的对象。

Inherited methods

From class java.lang.Object

Fields

NULL

Added in API level 1
Object NULL

标记值用于明确定义没有值的名称。 null不同,名称具有此值:

此值违反的总承包equals(Object)通过时相比,返回true null 它的toString()方法返回“null”。

Public constructors

JSONObject

Added in API level 1
JSONObject ()

创建一个没有名称/值映射的 JSONObject

JSONObject

Added in API level 1
JSONObject (Map copyFrom)

通过复制给定映射中的所有名称/值映射来创建新的 JSONObject

Parameters
copyFrom Map: a map whose keys are of type String and whose values are of supported types.
Throws
NullPointerException if any of the map's keys are null.

JSONObject

Added in API level 1
JSONObject (JSONTokener readFrom)

创建一个新 JSONObject与从tokener的下一个对象的名称/值映射。

Parameters
readFrom JSONTokener: a tokener whose nextValue() method will yield a JSONObject.
Throws
JSONException if the parse fails or doesn't yield a JSONObject.

JSONObject

Added in API level 1
JSONObject (String json)

使用来自JSON字符串的名称/值映射创建新的 JSONObject

Parameters
json String: a JSON-encoded string containing an object.
Throws
JSONException if the parse fails or doesn't yield a JSONObject.

JSONObject

Added in API level 1
JSONObject (JSONObject copyFrom, 
                String[] names)

通过复制给定对象中所列名称的映射来创建新的JSONObject 不在copyFrom中的copyFrom将被跳过。

Parameters
copyFrom JSONObject
names String
Throws
JSONException

Public methods

accumulate

Added in API level 1
JSONObject accumulate (String name, 
                Object value)

value附加到已映射到name的阵列。 如果此对象没有映射namename插入一个新的映射。 如果映射存在但其值不是数组,则现有值和新值name顺序插入到新映射到name数组中。 总的来说,这允许将值一次添加到映射中。

请注意, append(String, Object)提供了更好的语义。 特别是, name的映射将始终JSONArray 使用accumulate将导致JSONArray或其类型为value类型的映射,具体取决于对其的调用次数。

Parameters
name String
value Object: a JSONObject, JSONArray, String, Boolean, Integer, Long, Double, NULL or null. May not be NaNs or infinities.
Returns
JSONObject
Throws
JSONException

get

Added in API level 1
Object get (String name)

返回由 name映射的值,或者如果不存在这样的映射则抛出。

Parameters
name String
Returns
Object
Throws
JSONException if no such mapping exists.

getBoolean

Added in API level 1
boolean getBoolean (String name)

如果它存在且返回值为 name则该值为布尔值或可强制为布尔值,否则返回。

Parameters
name String
Returns
boolean
Throws
JSONException if the mapping doesn't exist or cannot be coerced to a boolean.

getDouble

Added in API level 1
double getDouble (String name)

如果它存在且返回值为 name ,则为double,或者可以强制为double,否则返回。

Parameters
name String
Returns
double
Throws
JSONException if the mapping doesn't exist or cannot be coerced to a double.

getInt

Added in API level 1
int getInt (String name)

如果它存在且返回值为 name则该值为int或可强制为int,否则返回。

Parameters
name String
Returns
int
Throws
JSONException if the mapping doesn't exist or cannot be coerced to an int.

getJSONArray

Added in API level 1
JSONArray getJSONArray (String name)

返回 name映射的值(如果它存在且为 JSONArray ,否则返回。

Parameters
name String
Returns
JSONArray
Throws
JSONException if the mapping doesn't exist or is not a JSONArray.

getJSONObject

Added in API level 1
JSONObject getJSONObject (String name)

如果它存在并且是 JSONObject ,则返回由 name映射的值,否则返回。

Parameters
name String
Returns
JSONObject
Throws
JSONException if the mapping doesn't exist or is not a JSONObject.

getLong

Added in API level 1
long getLong (String name)

如果它存在且返回由name映射的值, name该值长或可被强制为long,否则返回。 请注意,JSON表示数字为双打,所以这是lossy ; 使用字符串通过JSON传输数字。

Parameters
name String
Returns
long
Throws
JSONException if the mapping doesn't exist or cannot be coerced to a long.

getString

Added in API level 1
String getString (String name)

如果存在,则返回由 name映射的值,如有必要则强制该值,如果不存在此映射,则返回该值。

Parameters
name String
Returns
String
Throws
JSONException if no such mapping exists.

has

Added in API level 1
boolean has (String name)

如果此对象具有name的映射,则返回true。 映射可以是NULL

Parameters
name String
Returns
boolean

isNull

Added in API level 1
boolean isNull (String name)

如果这个对象有没有映射,则返回true name ,或者如果它有一个映射,其值是 NULL

Parameters
name String
Returns
boolean

keys

Added in API level 1
Iterator<String> keys ()

返回此对象中String名称的迭代器。 返回的迭代器支持remove ,它将从该对象中删除相应的映射。 如果在迭代器返回后修改该对象,则迭代器的行为是未定义的。 密钥的顺序是未定义的。

Returns
Iterator<String>

length

Added in API level 1
int length ()

返回此对象中的名称/值映射的数量。

Returns
int

names

Added in API level 1
JSONArray names ()

返回包含此对象中字符串名称的数组。 如果此对象不包含映射,则此方法返回null。

Returns
JSONArray

numberToString

Added in API level 1
String numberToString (Number number)

将数字编码为JSON字符串。

Parameters
number Number: a finite value. May not be NaNs or infinities.
Returns
String
Throws
JSONException

opt

Added in API level 1
Object opt (String name)

返回由 name映射的值,如果不存在这样的映射,则返回null。

Parameters
name String
Returns
Object

optBoolean

Added in API level 1
boolean optBoolean (String name, 
                boolean fallback)

如果它存在并且是布尔值,则返回由 name映射的值,或者可以强制为布尔值,否则 fallback

Parameters
name String
fallback boolean
Returns
boolean

optBoolean

Added in API level 1
boolean optBoolean (String name)

如果它存在并且是布尔值,则返回由 name映射的值,或者可以强制为布尔值,否则返回false。

Parameters
name String
Returns
boolean

optDouble

Added in API level 1
double optDouble (String name, 
                double fallback)

返回 name映射的值(如果它存在并且是双 name值或可以强制为双 fallback否则 fallback

Parameters
name String
fallback double
Returns
double

optDouble

Added in API level 1
double optDouble (String name)

返回 name映射的值(如果它存在且为双 name值或可以强制为双 NaN否则 NaN

Parameters
name String
Returns
double

optInt

Added in API level 1
int optInt (String name, 
                int fallback)

返回 name映射的值(如果它存在并且是一个int或可以强制为int),否则 fallback

Parameters
name String
fallback int
Returns
int

optInt

Added in API level 1
int optInt (String name)

如果它存在且返回值为 name则该值为int或可强制为int,否则返回0。

Parameters
name String
Returns
int

optJSONArray

Added in API level 1
JSONArray optJSONArray (String name)

返回 name映射的值(如果它存在且为 JSONArray ,否则返回null。

Parameters
name String
Returns
JSONArray

optJSONObject

Added in API level 1
JSONObject optJSONObject (String name)

返回 name映射的值(如果它存在且为 JSONObject ,否则返回null。

Parameters
name String
Returns
JSONObject

optLong

Added in API level 1
long optLong (String name)

返回name映射的值,如果它存在并且很长或可以强制为长name ,否则返回0。 请注意,JSON表示数字为双打,所以这是lossy ; 使用字符串通过JSON传输数字。

Parameters
name String
Returns
long

optLong

Added in API level 1
long optLong (String name, 
                long fallback)

返回name映射的值(如果它存在并且很长或可以强制为长fallback否则fallback 请注意,JSON表示数字为双打,所以这是lossy ; 使用字符串通过JSON传输数字。

Parameters
name String
fallback long
Returns
long

optString

Added in API level 1
String optString (String name, 
                String fallback)

如果存在,则返回由 name映射的值,如有必要则强制 name该值,如果不存在此类映射,则 fallback

Parameters
name String
fallback String
Returns
String

optString

Added in API level 1
String optString (String name)

如果存在,则返回由 name映射的值,如有必要则强制 name该值,如果不存在此类映射,则返回空字符串。

Parameters
name String
Returns
String

put

Added in API level 1
JSONObject put (String name, 
                double value)

映射 namevalue ,用相同的名称对任何现有名称/值映射进行破坏。

Parameters
name String
value double: a finite value. May not be NaNs or infinities.
Returns
JSONObject this object.
Throws
JSONException

put

Added in API level 1
JSONObject put (String name, 
                boolean value)

映射 namevalue ,用相同的名称对任何现有的名称/值映射进行破坏。

Parameters
name String
value boolean
Returns
JSONObject this object.
Throws
JSONException

put

Added in API level 1
JSONObject put (String name, 
                int value)

地图 namevalue ,使用相同名称对所有现有的名称/值映射进行破坏。

Parameters
name String
value int
Returns
JSONObject this object.
Throws
JSONException

put

Added in API level 1
JSONObject put (String name, 
                long value)

地图 namevalue ,以同名的名称对所有现有名称/值映射进行破坏。

Parameters
name String
value long
Returns
JSONObject this object.
Throws
JSONException

put

Added in API level 1
JSONObject put (String name, 
                Object value)

地图namevalue ,使用相同名称对所有现有的名称/值映射进行破坏。 如果该值是null ,对于任何现有映射name被去除。

Parameters
name String
value Object: a JSONObject, JSONArray, String, Boolean, Integer, Long, Double, NULL, or null. May not be NaNs or infinities.
Returns
JSONObject this object.
Throws
JSONException

putOpt

Added in API level 1
JSONObject putOpt (String name, 
                Object value)

相当于put(name, value)当两个参数都非空时; 否则什么也不做。

Parameters
name String
value Object
Returns
JSONObject
Throws
JSONException

quote

Added in API level 1
String quote (String data)

data编码为JSON字符串。 这适用于引号和任何必要的字符转义。

Parameters
data String: the string to encode. Null will be interpreted as an empty string.
Returns
String

remove

Added in API level 1
Object remove (String name)

删除指定的映射(如果存在); 否则什么也不做。

Parameters
name String
Returns
Object the value previously mapped by name, or null if there was no such mapping.

toJSONArray

Added in API level 1
JSONArray toJSONArray (JSONArray names)

返回值为names的数组。 该数组对于未映射的名称包含空值。 如果names为null或空,则此方法返回null。

Parameters
names JSONArray
Returns
JSONArray
Throws
JSONException

toString

Added in API level 1
String toString ()

将此对象编码为紧凑的JSON字符串,例如:

{"query":"Pizza","locations":[94043,90210]}

Returns
String a string representation of the object.

toString

Added in API level 1
String toString (int indentSpaces)

将此对象编码为用于调试的可读JSON字符串,例如:

 {
     "query": "Pizza",
     "locations": [
         94043,
         90210
     ]
 }

Parameters
indentSpaces int: the number of spaces to indent for each level of nesting.
Returns
String
Throws
JSONException

wrap

Added in API level 19
Object wrap (Object o)

必要时包裹给定的对象。

如果该对象为空或返回NULL 如果对象是JSONArrayJSONObject ,则不需要换行。 如果对象是NULL ,则不需要包装。 如果对象是数组或Collection ,则返回等效的JSONArray 如果对象是Map ,则返回相应的JSONObject 如果该对象是基本包装类型或String ,则返回该对象。 否则,如果对象来自java包,则返回toString的结果。 如果包装失败,则返回null。

Parameters
o Object
Returns
Object

Hooray!