Android JSON API缺少追加函数(用于添加JSON数组)
我有一些Java代码,我想从Android开始使用——它使用org.json库,从一开始就是Android API的一部分 我发现json.org上的标准实现与Android实现之间存在一些差异,这并不奇怪——也许Android版本更旧 但是缺少append函数则不同。与accumlate函数相比,它更受欢迎,Android文档明确说明了为什么应该使用append: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.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
特此免费向获得许可的任何人授予许可
此软件和相关文档文件的副本
“软件”),不受限制地经营软件,包括
不限制使用、复制、修改、合并、发布、,
分发、再许可和/或出售本软件的副本,以及
允许向其提供软件的人员这样做,但须遵守
以下情况:
上述版权声明和本许可声明应
包含在软件的所有副本或重要部分中
软件应用于善,而非恶
软件按“原样”提供,无任何形式的担保,
明示或暗示,包括但不限于
适销性、特定用途的适用性和
不干涉。在任何情况下,作者或版权持有人不得
负责任何索赔、损害赔偿或其他责任,无论是在
合同诉讼、侵权诉讼或其他诉讼,由以下原因引起:
与本软件的连接或在本软件中的使用或其他交易
软件*/