You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Processing中从JSON文件加载int[][]类型的二维整数数组?

解决Processing中加载JSON二维int数组的问题

问题根源

  1. currentLevel.get("floor")返回的是Object类型,必须先转为JSONArray才能调用其方法;
  2. Processing的JSONArray没有直接获取二维int数组的getIntArray()方法,需要手动逐层解析。

解决方案

使用嵌套循环遍历JSONArray的外层和内层元素,逐个转换为int类型并组装成二维数组:

JSONObject currentLevel = loadJSONObject("assets/levels/test_level.json");
JSONArray floorOuterArray = currentLevel.getJSONArray("floor"); // 直接获取外层JSONArray

// 初始化二维int数组
int[][] floor = new int[floorOuterArray.size()][];

// 遍历外层数组
for (int i = 0; i < floorOuterArray.size(); i++) {
    JSONArray floorInnerArray = floorOuterArray.getJSONArray(i);
    floor[i] = new int[floorInnerArray.size()];
    
    // 遍历内层数组,转换为int
    for (int j = 0; j < floorInnerArray.size(); j++) {
        floor[i][j] = floorInnerArray.getInt(j);
    }
}

// 验证结果
for (int[] row : floor) {
    println(row);
}

额外注意事项

  • 确保你的JSON文件中"floor"的结构是标准二维数组(内层元素必须是数字类型),示例结构如下:
{
  "floor": [
    [0, 1, 0],
    [1, 1, 1],
    [0, 0, 1]
  ]
}
  • 如果JSON结构错误(比如内层不是数组、元素为字符串),会抛出类型转换异常,需要先检查JSON格式是否正确。

内容的提问来源于stack exchange,提问作者declandeclandeclan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 15:51:32