Java读取本地json文件及相应处理

//读取json文件地址
        /* String path = getClass().getClassLoader().getResource("menu.json").toString();
        path = path.replace("\\", "/");
        if (path.contains(":")) {
            path = path.replace("file:/", "");
        }*/
        ClassPathResource resource = new ClassPathResource("menu.json");
        File filePath = resource.getFile();
        JSONArray btnArray = null;

        //读取文件
        String input = FileUtils.readFileToString(filePath, "UTF-8");
        //将读取的数据转换为JSONObject
        JSONObject jsonObject = JSONObject.fromObject(input);
        if (jsonObject != null) {
            //取出按钮权限的数据
            btnArray = jsonObject.getJSONArray("btnList");
        }
        Map<String, List<MenuVo>> btnMap = new HashMap<>();
        Iterator<Object> num = btnArray.iterator();
        //遍历JSONArray,转换格式。按按钮集合按模块(name)放入map中
        while (num.hasNext()) {
            JSONObject btn = (JSONObject) num.next();
            btnMap.put((String) btn.get("name"), JSONArray.toList((JSONArray) btn.get("children"), new MenuVo(), new JsonConfig()));
        }

json文件

{
  "btnList": [
    {
      "name": "用户管理",
      "children": [
        {
          "id": "yhgladd",
          "name": "添加"
        },
        {
          "id": "yhgledit",
          "name": "编辑"
        },
        {
          "id": "yhgldelete",
          "name": "暂停"
        },
        {
          "id": "yhglstart",
          "name": "启用"
        },
        {
          "id": "yhglsee",
          "name": "查看"
        }
      ]
    },
    {
      "name": "角色管理",
      "children": [
        {
          "id": "jsgladd",
          "name": "添加"
        },
        {
          "id": "jsgledit",
          "name": "编辑"
        },
        {
          "id": "jsglauth",
          "name": "授权"
        },
        {
          "id": "jsgldelete",
          "name": "删除"
        }
      ]
    }
  ]
}

猜你喜欢

转载自blog.csdn.net/superlover_/article/details/79461111