Oracle APEX REST API 嵌套 JSON 输出

Oracle APEX REST API Nested JSON output

提问人:Mohammad Ubaid 提问时间:11/2/2023 最后编辑:karelMohammad Ubaid 更新时间:11/6/2023 访问量:43

问:

我编写了以下代码,该代码未显示我想要的输出。我想显示与屏幕截图中完全相同的输出。我在 Oracle APEX 版本 22.2 中创建了 REST API,数据库版本为 19c。

SELECT 'application/json' as content_type, JSON_OBJECT (
    KEY 'departments' VALUE (
        SELECT JSON_ARRAYAGG(
            JSON_OBJECT (
                KEY 'department_name' VALUE d.DEPARTMENT_NAME,
                KEY 'department_no' VALUE d.DEPARTMENT_ID,
                KEY 'employees' VALUE (
                    SELECT JSON_ARRAYAGG (
                        JSON_OBJECT (
                            KEY 'employee_number' VALUE e.EMPLOYEE_ID,
                            KEY 'employee_name' VALUE e.FIRST_NAME))
                    FROM   OEHR_EMPLOYEES e
                    WHERE  e.DEPARTMENT_ID = d.DEPARTMENT_ID)))
        FROM   OEHR_DEPARTMENTS d
        where d.DEPARTMENT_ID in (10,20,30)))
AS departments
FROM dual

enter image description here

数组 json rest oracle-apex-22

评论

0赞 Norman Aberin 11/3/2023
你能添加你得到的东西吗?我尝试了您的查询,它给了我完全相同的结构,您的意思是格式/间距吗?{"departments":[{"department_name":"ACCOUNTING","department_no":10,"employees":[{"employee_number":7839,"employee_name":"KING"}...
0赞 Mohammad Ubaid 11/3/2023
@NormanAberin在oracle apex “depts”的GET API中添加相同的查询时,我得到以下输出: “{\”dept\“:{\”deptno\“:\”Admi\“,\”deptno\“:10,\”emp\“:[{\”empno\“:200,\”empname\“:\”Jennifer\“}]}

答:

0赞 Norman Aberin 11/4/2023 #1

我记得这个,我主要在忘记 https://www.thatjeffsmith.com/archive/2017/09/ords-returning-raw-json/ 的时候使用它。在这里,您需要在列前面加上 .在查询中,只需将列名称从:{}

  • departments"{}departments"

评论

0赞 Mohammad Ubaid 11/6/2023
谢谢@NormanAberin它工作正常