
|
↳ |
org.json.JSONObject |
一个可修改的名字/值映射对集合。名字是唯一的、非空(non-null)的字符串。值可以是 JSONObjects 、 JSONArrays 、字符串(String)、逻辑值(Booleans)、整数(Integers)、长整型数(Longs)、双精度浮点数(Doubles)或 空值 的任意混合。值不可以是null 、 非数 、 无限数 及任何其它未在此列出的类型。
当收到请求时,这个类可以强制将值转换(coerce)成另一种类型。
•.如果所请求获取的是逻辑值,则字符串会按照大小写不敏感的方式来与"true"和"false"比较,以转换成逻辑值。
•.如果所请求的类型是双精度浮点数,则其它的 数字 类型会使用 doubleValue 来进行强制转换。可以使用 valueOf(String) 来转换的字符串也会被强制转换。
•.如果所请求的类型是整数型,则其它的 数字 类型会使用 intValue 来进行强制转换。可以使用 valueOf(String) 来转换的字符串也会被强制转换,然后再转换成整数型。
•. 如果所请求的类型是长整型,则其它的 数字 类型会使用 longValue 来进行强制转换。可以使用 valueOf(String) 来转换的字符串也会被强制转换 ,然后再转换成长整型 。对于非常大的值,这种两步的转换会丢失精度 。例如,字符串 "9223372036854775806"经过转换之后就会变成长整型9223372036854775807。
•.如果所请求的类型是字符串型,则其它非空(non-null)的值会使用 valueOf(Object) 来进行强制转换。尽管空值(null)不可以进行强制转换,但是,标记(sentinel)值 NULL 会被转换成字符串"null"。
这个类既可以查找必须值,也可以查找可选值:
•.使用get Type ()来获取一个必须值。如果所请求的名字没有对应的值,或者对应的值无法被强制转换为请求的类型,则会失败,抛出 JSONException 异常。
•.使用opt Type ()来获取一个可选值。如果所请求的名字没有对应的值,或者对应的值无法被强制转换为请求的类型,则会返回由系统或用户指定的默认值。
警告:这个类使用两个不兼容的方式来表示空值(null):标准的Java null 引用,和标记值 NULL 。特别地,调用 put(name, null)会从对象中删除指定名字的条目,而调用 put(name, JSONObject.NULL)会储存一个值为 JSONObject.NULL 的条目。
这个类的实例不是线程安全的。尽管这个类不是终极类(is nonfinal),但是,它并不是设计为被其它类继承的,因此,妳不应当使用子类来继承它。特别地,对于可覆盖的(overrideable)方法的自用(self-use)是未指定的(specified)。参考 高效 Java 第17条,"设计并显式标注继承,否则就禁止它",以了解更多信息。
|
公有方法 |
||
|
boolean |
如果这个对象中包含有对于名字name 的映射,则返回真(true)。 |
|
在编程接口版本1中加入
如果本对象中存在对于名字name 的映射的话,则返回真(true)。该映射可以是 NULL 。
陈海茵
陈海茵
HxLauncher: Launch Android applications by voice commands