我正在使用 org.json.simple.JSONArray
和 org.json.simple.JSONObject
。我知道这两个类 JSONArray
和 JSONObject
是不兼容的,但我仍然想做一件很自然的事情 - 我想为每个超过 JSONArray
解析在每个迭代步骤一 JSONObject
(嵌套在 JSONArray
内)。我试着这样做:
JSONArray arr = ...; // <-- got by some procedure
for(JSONObject o: arr){
parse(o);
}
当我尝试编译此代码时,确实出现“不兼容类型”错误,即使它看起来很自然。所以,我的问题是迭代 JSONArray
的最佳方法是什么?
原文由 Jacobian 发布,翻译遵循 CC BY-SA 4.0 许可协议
显然,
org.json.simple.JSONArray
实现了一个 原始 迭代器。这意味着每个元素都被认为是Object
。您可以尝试投射:这就是在 Java 1.4 及更早版本中所做的事情。