求大佬帮助!java后端怎么构造这种json?

有2个实体类,一个是学生基本信息(主键学生id), 还有一个是学生成绩表(有一个字段学生id 通过

select * from  grade where id=20   查出来的是多行 
{
    "data": [{
        "name": "张三",
        "sex": "男",
        "grade": {
            "chinses": [{
                "one": "88",
                "two": "98",
                "three": "95",
                "four": "55"
            }],
            "math": [{
                "one": "88",
                "two": "98",
                "three": "95",
                "four": "55"
            }]
        }
    }]
}

但是,这2个实体类怎么搞 不知道怎么关联
可以 分别 select * from XX 然后 new Gson().tojson(集合) 或者 JSONArray.parseArray(JSON.toJSONString(list));
这前端需要的json数据格式还有很大的差距

好像要在实体类中私有化 list 或者 map 然后该怎么操作呢........................

JSONObject JSONArray 这两个类相互使用就好了

先分别查出学生基本信息放到List中,查出学生成绩表放到Map里,然后定义一个你写的这个结构的实体类A,循环遍历学生基本信息表,循环体内部根据学生id属性从学生成绩Map获取该学生的成绩,然后将各个值赋给A对象的各个属性,然后再转json输出即可。