JSONObject 类

定义

一组可修改的名称/值映射。

[Android.Runtime.Register("org/json/JSONObject", DoNotGenerateAcw=true)]
public class JSONObject : Java.Lang.Object
[<Android.Runtime.Register("org/json/JSONObject", DoNotGenerateAcw=true)>]
type JSONObject = class
    inherit Object
继承
JSONObject
属性

注解

一组可修改的名称/值映射。 名称是唯一的非 null 字符串。 值可以是任意混合 JSONObject JSONObjects、、 JSONArray JSONArrays字符串、布尔值、整数、长数、双精度值或 #NULL。 值可能 null不是、 Double#isNaN() NaNsDouble#isInfinite() infinities此处未列出的任何类型的值。

此类可以在请求时将值强制设置为另一种类型。 <ul><li>当请求的类型为布尔值时,将使用不区分大小写的比较来强制使用“true”和“false”的字符串。 <当>请求的类型为双精度类型时,将使用其他 Number 类型强制使用 Number#doubleValue() doubleValue。 可使用强制使用的 Double#valueOf(String) 字符串将是。 <li>当请求的类型为 int 时,将使用其他 Number 类型强制使用 Number#intValue() intValue。 可以使用强制使用的Double#valueOf(String)字符串,然后转换为 int。 <li>“lossy”>当请求的类型为长时,将使用 c Number#longValue() longValue</c 强制<其他 <c>>Number</c>> 类型。 可以使用 <c>Double#valueOf(String)</c> 强制转换的字符串,然后转换为长字符串。 对于非常大的值,此双步转换是丢失的。 例如,字符串“9223372036854775806”生成长9223372036854775807。<li>当请求的类型为字符串时,将使用其他非 null 值强制使用 String#valueOf(Object)。 虽然无法强制为 null,但 sentinel 值 JSONObject#NULL 被强制转换为字符串“null”。 </ul>

此类可以查找必需值和可选值:<ul<>li>Use get<i>Type</i>() to retrieve a mandatory value. 如果请求的名称没有值,或者值无法强制转换为所请求的类型,则失败 JSONException 。 <li>用于 opt<i>Type</i>() 检索可选值。 如果请求的名称没有值,或者无法强制使用所请求的类型,则返回系统或用户提供的默认值。 </ul>

<strong Warning:</strong>> 此类以两种不兼容的方式表示 null:标准Javanull引用和 sentinel 值JSONObject#NULL。 具体而言,调用 put(name, null) 会从对象中删除命名项,但 put(name, JSONObject.NULL) 存储其值为 JSONObject.NULL的条目。

此类的实例不是线程安全的。 虽然此类是非决赛的,但它不是用于继承的,不应进行子类化。 具体而言,未指定可替代方法的自我使用。 有关详细信息,请参阅“有效Java,第 3 版项目 19,”设计和文档进行继承,否则禁止它”。

Java文档org.json.JSONObject

本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。

构造函数

名称 说明
JSONObject()

JSONObject创建无名称/值映射。

JSONObject(IDictionary)

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

JSONObject(IntPtr, JniHandleOwnership)

创建 JNI 对象的托管表示形式时使用的构造函数;由运行时调用。

JSONObject(JSONObject, String[])

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

JSONObject(JSONTokener)

使用标记器中下一 JSONObject 个对象的名称/值映射创建新的名称/值映射。

JSONObject(String)

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

属性

名称 说明
Class

返回此 Object的运行时类。

(继承自 Object)
Handle

基础 Android 实例的句柄。

(继承自 Object)
JniIdentityHashCode

一组可修改的名称/值映射。

(继承自 Object)
JniPeerMembers

一组可修改的名称/值映射。

Null

一个 sentinel 值,用于显式定义没有值的名称。

PeerReference

一组可修改的名称/值映射。

(继承自 Object)
ThresholdClass

此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。

ThresholdType

此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。

方法

名称 说明
Accumulate(String, Object)

value追加到已映射到name的数组。

Append(String, Object)

将值追加到映射到 name的数组。

Clone()

创建并返回此对象的副本。

(继承自 Object)
Dispose()

一组可修改的名称/值映射。

(继承自 Object)
Dispose(Boolean)

一组可修改的名称/值映射。

(继承自 Object)
Equals(Object)

指示其他对象是否“等于”此对象。

(继承自 Object)
Get(String)

返回所 name映射的值;如果没有此类映射,则返回或引发该值。

GetBoolean(String)

返回所映射 name 的值(如果存在并且是布尔值或可强制转换为布尔值)或引发其他值。

GetDouble(String)

返回映射 name 的值(如果存在并且是双精度值或可强制转换为双精度值)或引发其他值。

GetHashCode()

返回对象的哈希代码值。

(继承自 Object)
GetInt(String)

返回映射 name 的值(如果存在且是 int 或可强制映射到 int)或引发其他值。

GetJSONArray(String)

返回所映射 的值(如果存在且为/>或引发)。。

GetJSONObject(String)

返回所映射 的值(如果存在且为/>或引发)。。

GetLong(String)

返回映射 name 的值(如果存在并且是长值或可强制转换为长值)或引发其他值。

GetString(String)

返回映射 name 值(如果存在)、在必要时强制映射或引发(如果不存在此类映射)。

Has(String)

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

IsNull(String)

如果此对象没有映射, name 或者该对象具有其值为 #NULL的映射,则返回 true。

JavaFinalize()

当垃圾回收确定不再引用该对象时,由对象上的垃圾回收器调用。

(继承自 Object)
Keys()

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

Length()

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

Names()

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

Notify()

唤醒正在等待此对象的监视器的单个线程。

(继承自 Object)
NotifyAll()

唤醒正在等待此对象的监视器的所有线程。

(继承自 Object)
NumberToString(Number)

将数字编码为 JSON 字符串。

Opt(String)

返回所 name映射的值;如果没有此类映射,则返回 null。

OptBoolean(String, Boolean)

返回所映射 name 的值(如果存在且为布尔值或可强制转换为布尔 fallback 值);否则返回该值。

OptBoolean(String)

返回所映射 name 的值(如果存在且为布尔值或可强制转换为布尔值);否则返回 false。

OptDouble(String, Double)

返回映射 name 的值(如果存在并且是双精度值或可强制转换为双精度 fallback 值);否则返回该值。

OptDouble(String)

返回映射 name 的值(如果存在并且是双精度值或可强制转换为双精度 NaN 值);否则返回该值。

OptInt(String, Int32)

返回所映射 name 的值(如果存在且是 int 或可强制映射到 int,否则为 int fallback )。

OptInt(String)

返回所映射 name 的值(如果存在且为 int 或可强制映射到 int,否则返回 0)。

OptJSONArray(String)

如果存在且为 JSONArraynull,则返回所映射name的值;否则返回 null。

OptJSONObject(String)

如果存在且为 JSONObjectnull,则返回所映射name的值;否则返回 null。

OptLong(String, Int64)

返回所映射 name 的值(如果存在并且是长值或可强制转换为长值,否则为长 fallback 值)。

OptLong(String)

返回映射的值 name (如果存在且是长值或可强制转换为长值)或 0。否则返回该值。

OptString(String, String)

返回映射 name 的值(如果存在)、在必要时强制映射或 fallback 不存在此类映射。

OptString(String)

返回映射 name 值(如果存在)、在必要时强制映射或空字符串(如果不存在此类映射)。

Put(String, Boolean)

value映射到name任何具有相同名称的现有名称/值映射。

Put(String, Double)

value映射到name任何具有相同名称的现有名称/值映射。

Put(String, Int32)

value映射到name任何具有相同名称的现有名称/值映射。

Put(String, Int64)

value映射到name任何具有相同名称的现有名称/值映射。

Put(String, Object)

value映射到name任何具有相同名称的现有名称/值映射。

PutOpt(String, Object)

等效于 put(name, value) 当两个参数均为非 null 时;否则不执行任何操作。

Quote(String)

编码 data 为 JSON 字符串。

Remove(String)

删除命名映射(如果存在);否则不执行任何操作。

SetHandle(IntPtr, JniHandleOwnership)

设置 Handle 属性。

(继承自 Object)
ToArray<T>()

一组可修改的名称/值映射。

(继承自 Object)
ToJSONArray(JSONArray)

返回一个数组,其值对应于 names

ToString()

返回对象的字符串表示形式。

(继承自 Object)
ToString(Int32)

将此对象编码为人工可读 JSON 字符串进行调试,例如:

UnregisterFromRuntime()

一组可修改的名称/值映射。

(继承自 Object)
Wait()

使当前线程等待,直到唤醒它,通常是通过 em 通知/em< 或 >em<interrupted>/em<。><>

(继承自 Object)
Wait(Int64, Int32)

使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted>/em<>,或直到经过一定数量的实时。

(继承自 Object)
Wait(Int64)

使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted>/em<>,或直到经过一定数量的实时。

(继承自 Object)
Wrap(Object)

如有必要,包装给定对象。

显式接口实现

名称 说明
IJavaPeerable.Disposed()

一组可修改的名称/值映射。

(继承自 Object)
IJavaPeerable.DisposeUnlessReferenced()

一组可修改的名称/值映射。

(继承自 Object)
IJavaPeerable.Finalized()

一组可修改的名称/值映射。

(继承自 Object)
IJavaPeerable.JniManagedPeerState

一组可修改的名称/值映射。

(继承自 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

一组可修改的名称/值映射。

(继承自 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

一组可修改的名称/值映射。

(继承自 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

一组可修改的名称/值映射。

(继承自 Object)

扩展方法

名称 说明
GetJniTypeName(IJavaPeerable)

获取实例 self类型的 JNI 名称。

JavaAs<TResult>(IJavaPeerable)

尝试强制self键入TResult,检查强制是否在Java端有效。

JavaCast<TResult>(IJavaObject)

执行 Android 运行时检查的类型转换。

JavaCast<TResult>(IJavaObject)

一组可修改的名称/值映射。

TryJavaCast<TResult>(IJavaPeerable, TResult)

尝试强制self键入TResult,检查强制是否在Java端有效。

适用于