为了账号安全,请及时绑定邮箱和手机立即绑定

从 Tiled 使用 org.json.simple 生成的 JSON 文件加载数据

从 Tiled 使用 org.json.simple 生成的 JSON 文件加载数据

DIEA 2022-08-17 16:48:04
新手在这里...我需要单独解决此JSON文件中的以下两个“数据”数组,以便将它们保存在不同的int数组中:{ //other stuff ..."layers":[{"data":[1, 1, 1, 1, 5, 1, 1, 1...],//other stuff ...}, {"data":[1, 1, 1, 1, 5, 1, 1, 1...],//other stuff...}],//other stuff...}这是我到目前为止的代码:@SuppressWarnings("unchecked")    private void loadJsonData() {        JSONParser parser = new JSONParser();        try {            Object obj = parser.parse(new FileReader(path));            String jsonStr = obj.toString();            JSONObject json = (JSONObject) JSONValue.parse(jsonStr);          //other code...          mapTiles = ...;          objectTiles = ...;        } catch (ParseException ex) {            ex.printStackTrace();        } catch (FileNotFoundException ex) {            ex.printStackTrace();        } catch (IOException ex) {            ex.printStackTrace();        } catch (ClassCastException ex) {            ex.printStackTrace();        }    }我敢肯定答案是somwehere在那里,但我太无能了,找不到它:D
查看完整描述

1 回答

?
冉冉说

TA贡献1877条经验 获得超1个赞

有大量的资源,json组织库易于使用。

您可以在此处找到更多示例

JSONParser parser = new JSONParser();

    Object parsedObject = parser.parse(jsonStr);


    JSONObject jsonObject = (JSONObject) parsedObject;

    JSONArray layers = (JSONArray) jsonObject.get("layers"); 


    JSONObject data = (JSONObject) layers.get(0);   

    JSONArray mapData = (JSONArray) data.get("data");   

    int[] mapTile = new int[mapData.size()];

    for (int i = 0; i < mapData.size(); i++) {

        mapTile[i] = ((Long)mapData.get(i)).intValue();

    }


    data = (JSONObject) layers.get(1);  

    JSONArray objectData = (JSONArray) data.get("data");    

    int[] objectTile = new int[objectData.size()];

    for (int i = 0; i < objectData.size(); i++) {

        objectTile[i] = ((Long)objectData.get(i)).intValue();

    }


    System.out.println(Arrays.toString(mapTile));

    System.out.println(Arrays.toString(objectTile));


查看完整回答
反对 回复 2022-08-17
  • 1 回答
  • 0 关注
  • 112 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信