cangxi_liu 2019-06-11 20:37 采纳率: 50%
浏览 382
已结题

如何将sql查询结果处理为指定格式的JSON数据格式?

编程语言:nodejs+express

sql语句如下:

var sql_02 = `select u.HospitalId as hospitalId,h.HospitalName as hospitalName,u.DeptId as deptId,hd.DeptName as deptName ,UserId as doctorId,UserName as doctorName
                from [user] u
                left join hospital h on h.HospitalId=u.HospitalId
                left join hospital_department hd on hd.DeptId=u.DeptId
                where u.HospitalId=?`

查询结果将返回一个JSON数据;

{
    "success": true,
    "data": [{
        "hospitalId": "1008",
        "hospitalName": "**县人民医院",
        "deptId": "1008053",
        "deptName": "内儿科",
        "doctorId": "10080001",
        "doctorName": "*清华"
    }, {
        "hospitalId": "1008",
        "hospitalName": "**县人民医院",
        "deptId": "1008050",
        "deptName": "肿瘤血液内科",
        "doctorId": "10080002",
        "doctorName": "*浩"
    }, {
        "hospitalId": "1008",
        "hospitalName": "**县人民医院",
        "deptId": "1008055",
        "deptName": "肝胆胃肠三腺外科",
        "doctorId": "10080003",
        "doctorName": "**勇"
    }, {
        "hospitalId": "1008",
        "hospitalName": "**县人民医院",
        "deptId": "1008027",
        "deptName": "急诊科",
        "doctorId": "10080004",
        "doctorName": "**彬"
    }, {
        "hospitalId": "1008",
        "hospitalName": "**县人民医院",
        "deptId": "1008058",
        "deptName": "呼吸内科",
        "doctorId": "10080005",
        "doctorName": "*伊潇"
    }, {
        "hospitalId": "1008",
        "hospitalName": "**县人民医院",
        "deptId": "1008069",
        "deptName": "疼痛科",
        "doctorId": "10080006",
        "doctorName": "**孔"
    }, {
        "hospitalId": "1008",
        "hospitalName": "**县人民医院",
        "deptId": "1008069",
        "deptName": "疼痛科",
        "doctorId": "10080007",
        "doctorName": "米*杰"
    }, {
        "hospitalId": "1008",
        "hospitalName": "**县人民医院",
        "deptId": "1008001",
        "deptName": "信息科",
        "doctorId": "10089999",
        "doctorName": "管理员"
    }],
    "message": "数据获取成功"
}

现在需要转换为如下格式:

[{
    "hosptialId": "10001",
    "hosptialName": "**医院",
    "deptItem": [{
            "deptId": "10001001",
            "deptName": "心内科",
            "DoctorItem": [{
                    "doctorId": "10001001001",
                    "doctorName": "张教授"
                },
                {
                    "doctorId": "10001001002",
                    "doctorName": "李教授"
                },
                {
                    "doctorId": "10001001001",
                    "doctorName": "张教授"
                }
            ]
        },
        {
            "deptId": "10001002",
            "deptName": "消化科",
            "DoctorItem": [{
                    "doctorId": "10001002001",
                    "doctorName": "王教授"
                },
                {
                    "doctorId": "10001002002",
                    "doctorName": "陈教授"
                },
                {
                    "doctorId": "10001002001",
                    "doctorName": "高教授"
                }
            ]
        }
    ]
}, {
    "hosptialId": "10002",
    "hosptialName": "**附属医院",
    "deptItem": [{
            "deptId": "10002001",
            "deptName": "心胸外科",
            "DoctorItem": [{
                    "doctorId": "10002001001",
                    "doctorName": "范教授"
                },
                {
                    "doctorId": "10002001002",
                    "doctorName": "孙教授"
                },
                {
                    "doctorId": "10002001001",
                    "doctorName": "高教授"
                }
            ]
        },
        {
            "deptId": "10002002",
            "deptName": "肿瘤科",
            "DoctorItem": [{
                    "doctorId": "10002002001",
                    "doctorName": "王教授"
                },
                {
                    "doctorId": "10002002002",
                    "doctorName": "雷教授"
                },
                {
                    "doctorId": "10002002003",
                    "doctorName": "杨教授"
                }
            ]
        }
    ]
}]

也就是说,目标JSON格式是医院-科室-医生。
求JSON数据遍历分组方法。

  • 写回答

3条回答 默认 最新

  • dabocaiqq 2019-06-11 22:04
    关注
    评论

报告相同问题?

悬赏问题

  • ¥35 平滑拟合曲线该如何生成
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站