Android JSON API缺少追加函数(用于添加JSON数组)

Android JSON API缺少追加函数(用于添加JSON数组),android,json,Android,Json,我有一些Java代码,我想从Android开始使用——它使用org.json库,从一开始就是Android API的一部分 我发现json.org上的标准实现与Android实现之间存在一些差异,这并不奇怪——也许Android版本更旧 但是缺少append函数则不同。与accumlate函数相比,它更受欢迎,Android文档明确说明了为什么应该使用append: ,java.lang.Object) 然而,文档和库本身都缺少append函数 记录在案,请访问json.org 所以,我很困惑:

我有一些Java代码,我想从Android开始使用——它使用org.json库,从一开始就是Android API的一部分

我发现json.org上的标准实现与Android实现之间存在一些差异,这并不奇怪——也许Android版本更旧

但是缺少append函数则不同。与accumlate函数相比,它更受欢迎,Android文档明确说明了为什么应该使用append:
,java.lang.Object)

然而,文档和库本身都缺少append函数

记录在案,请访问json.org


所以,我很困惑:这似乎是Android诞生以来的一个bug,我在任何地方都没有看到它。也许我遗漏了什么?

假设我没有“遗漏了什么”——即该函数遗漏了什么——只需复制json.org版本的遗漏函数即可

当然,您不能替代json.org的实现,因为包名会发生冲突,但您可以将其缺少的函数的实现粘贴到代码中的某个地方。请注意,我编辑它是为了删除Android中也缺少的testValidity,并添加“subject”

public static JSONObject append( JSONObject subject, String key, java.lang.Object value) throws JSONException {
    Object object = subject.opt(key);
    if (object == null) {
        subject.put(key, new JSONArray().put(value));
    } else if (object instanceof JSONArray) {
        subject.put(key, ((JSONArray) object).put(value));
    } else {
        throw new JSONException("JSONObject[" + key + "] is not a JSONArray.");
    }
    return subject;
}
请注意,他们有他们自己的许可证,但你不能用它作恶

/*版权所有(c)2002 JSON.org

特此免费向获得许可的任何人授予许可 此软件和相关文档文件的副本 “软件”),不受限制地经营软件,包括 不限制使用、复制、修改、合并、发布、, 分发、再许可和/或出售本软件的副本,以及 允许向其提供软件的人员这样做,但须遵守 以下情况:

上述版权声明和本许可声明应 包含在软件的所有副本或重要部分中

软件应用于善,而非恶

软件按“原样”提供,无任何形式的担保, 明示或暗示,包括但不限于 适销性、特定用途的适用性和 不干涉。在任何情况下,作者或版权持有人不得 负责任何索赔、损害赔偿或其他责任,无论是在 合同诉讼、侵权诉讼或其他诉讼,由以下原因引起: 与本软件的连接或在本软件中的使用或其他交易 软件*/