I'm using org.json.simple.JSONArray and org.json.simple.JSONObject. I know that these two classes JSONArray and JSONObject are incompatible, but still I want to do quite a natural thing - I want to for-each over JSONArray parsing at each iteration step one JSONObject (nested inside that JSONArray). I try to do it like so:

JSONArray arr = ...; // <-- got by some procedure
for(JSONObject o: arr){
    parse(o);
}

当我试图编译这段代码时,确实会出现"不兼容类型"错误,尽管这看起来很自然.所以,我的问题是,迭代JSONArray次的最佳方式是什么?

推荐答案

显然,org.json.simple.JSONArray实现了raw迭代器.这意味着每个元素都被认为是Object.您可以try 强制执行以下操作:

for(Object o: arr){
    if ( o instanceof JSONObject ) {
        parse((JSONObject)o);
    }
}

This is how things were done back in Java 1.4 and earlier.

Json相关问答推荐

为什么terraform不缩小这个策略JSON?'

从先前的REST调用创建动态JSON主体

kotlinx-serialization:如何将具有不同类型对象的JsonArray转换为同一个Class

如何使用JQ打印每个根级对象键一行?

Postgres Select json数组并重新映射属性名称

属性错误:';ActivitiesClient';对象没有属性';base_url';

如何使用PowerShell从ExchangeOnline命令执行中获得JSON输出

当 JSON 字段名称有空格时,ABAP 中的 JSON 反序列化

在 VS Code 中将一个正则表达式替换为另一个正则表达式

Golang jsonrpc2 服务器在哪里监听?

如何将属性拆分为嵌套的JSON内容?

如何在 terraform 输出中打印一组用户信息

从 oracle 数据库中的 json blob 打印值

VBA-JSON 嵌套集合解析为 Excel

使用 BASH 和 JQ 我想将 json 文件与 bash 数组进行比较

序列化特定类型时如何使 JSON.Net 序列化程序调用 ToString()?

如何获取json格式的KendoGrid显示数据?

在 HTML 数据属性上添加 JSON 是不是很糟糕?

Python 到 JSON 序列化在十进制上失败

IE10/11 Ajax XHR 错误 - SCRIPT7002:XMLHttpRequest:网络错误 0x2ef3