java中如何基于id重新排列json数组

java中如何基于id重新排列json数组,java,json,Java,Json,我想重新排列JSON,现在我得到如下结果: [{“路由器id”:“1101”,“楼层id”:“20”,“楼id”:“2”,“路由器名称”:“1101”},{“路由器id”:“1102”,“楼层id”:“20”,“楼id”:“2”,“路由器名称”:“1102”},{“路由器id”:“0”,“楼id”:“20”,“楼id”:“2”,“路由器名称”:“泛协调人”},{“路由器id”:“1104”,“楼层id”:“20”,“楼id”:“2”,“楼id”:“路由器名称”:“20”,“楼id”:“2”,“路

我想重新排列JSON,现在我得到如下结果:

[{“路由器id”:“1101”,“楼层id”:“20”,“楼id”:“2”,“路由器名称”:“1101”},{“路由器id”:“1102”,“楼层id”:“20”,“楼id”:“2”,“路由器名称”:“1102”},{“路由器id”:“0”,“楼id”:“20”,“楼id”:“2”,“路由器名称”:“泛协调人”},{“路由器id”:“1104”,“楼层id”:“20”,“楼id”:“2”,“楼id”:“路由器名称”:“20”,“楼id”:“2”,“路由器名称”:“4”
但我需要JSON,如下所示:

{“建筑物”:[{“建筑物id”:“2”,“楼层”:[{“楼层id”:“20”,“路由器”:[{“路由器id”:“1”,“路由器名称”:“a”},{“路由器id”:“2”,“路由器名称”:“b”}]}

这是我的代码:

    @Override
    public List<JSONObject> getFullRouterList() throws Exception {

    System.out.println("in dao of getFullRouterList ");
    session = sessionFactory.openSession();
    tx = session.beginTransaction();
    String sql = "SELECT building_id, floor_id, router_id, router_name FROM router_details";
    SQLQuery query = session.createSQLQuery(sql);

    List<Object[]> list = query.list();
    List<JSONObject> result = new ArrayList<>();

    for(Object[] rows: list) {
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("building_id", rows[0].toString());
        jsonObject.put("floor_id", rows[1].toString());
        jsonObject.put("router_id", rows[2].toString());
        jsonObject.put("router_name", rows[3].toString());
        result.add(jsonObject);
    }

    tx.commit();
    session.close();
    return result;  
}
@覆盖
公共列表getFullRouterList()引发异常{
System.out.println(“getFullRouterList的in-dao”);
session=sessionFactory.openSession();
tx=session.beginTransaction();
String sql=“从路由器详细信息中选择建筑物id、楼层id、路由器id、路由器名称”;
SQLQuery=session.createSQLQuery(sql);
List=query.List();
列表结果=新建ArrayList();
对于(对象[]行:列表){
JSONObject JSONObject=新的JSONObject();
jsonObject.put(“building_id”,行[0].toString());
jsonObject.put(“floor_id”,行[1].toString());
put(“router_id”,行[2].toString());
put(“路由器名称”,行[3].toString());
结果.添加(jsonObject);
}
tx.commit();
session.close();
返回结果;
}

您是否考虑过编写一些代码来重组您的数据?基于哪个id?我需要这样的代码:建筑物->楼层->路由器{“建筑物”:[{“建筑物id”:“2”,“楼层”:[{“楼层id”:“20”,“路由器”:[{“路由器id”:“1”,“路由器名称”:“a”},{“路由器id”:“2”,“路由器名称”:“b”}]}你要做的是解开一个json对象..看下面几行>你考虑过写一些代码来重组你的数据吗?基于哪个id?我需要像这样的建筑物->楼层->路由器{“建筑物”:[{“建筑物id”:“2”,“楼层”:[{“楼层id”:“20”,“路由器”:[{“路由器id”:“1”,“路由器名称”:“a”},{“路由器id”:“2”,“路由器名称”:“b”}]}]}]}您要做的是取消一个json对象的框架..看下面几行>