You need to enable JavaScript to run this app. Oracle 19c处理JSON时如何剔除common对象内的zona、central子节点
优惠活动
大模型
产品
解决方案
定价
更多

Oracle 19c处理JSON时如何剔除common对象内的zona、central子节点

Oracle JSON提取时排除指定子节点实现方案

针对从common对象中剔除zona、central字段的需求,根据Oracle版本不同可选择两种实现方式:

方案1:兼容所有支持JSON函数的Oracle版本(12cR2及以上)

直接逐字段构建需要保留的内容,不需要的字段不写入即可,完全可控:

SELECT JSON_OBJECT (
    'Type' VALUE TO_CHAR(a.Type),
    'Color' VALUE TO_CHAR(a.Color),
    'App' VALUE TO_CHAR(a.App),
    'Amount' VALUE TO_CHAR(a.Amount),
    'my_json' VALUE JSON_OBJECT(
        'contrato' VALUE JSON_QUERY(a.col, '$.common.contrato' WITHOUT WRAPPER RETURNING JSON),
        'servicio' VALUE JSON_VALUE(a.col, '$.common.servicio'),
        'actividad' VALUE JSON_VALUE(a.col, '$.common.actividad'),
        'tipo_actividad' VALUE JSON_VALUE(a.col, '$.common.tipo_actividad'),
        'numero_administrativo' VALUE JSON_VALUE(a.col, '$.common.numero_administrativo'),
        'estado_origen' VALUE JSON_VALUE(a.col, '$.common.estado_origen'),
        'provincia' VALUE JSON_QUERY(a.col, '$.common.provincia' WITHOUT WRAPPER RETURNING JSON),
        'aplicacion_origen' VALUE JSON_QUERY(a.col, '$.common.aplicacion_origen' WITHOUT WRAPPER RETURNING JSON),
        'clave' VALUE JSON_QUERY(a.col, '$.common.clave' WITHOUT WRAPPER RETURNING JSON)
    ) RETURNING JSON
) AS final_json
FROM FB_TAB a
WHERE a.id = :id;

方案2:高版本Oracle(21c及以上)直接使用排除语法

无需逐字段列举需要保留的内容,直接指定要剔除的路径,适合common下字段较多的场景:

SELECT JSON_OBJECT (
    'Type' VALUE TO_CHAR(a.Type),
    'Color' VALUE TO_CHAR(a.Color),
    'App' VALUE TO_CHAR(a.App),
    'Amount' VALUE TO_CHAR(a.Amount),
    'my_json' VALUE JSON_QUERY(
        a.col,
        '$.common'
        EXCLUDE '$.common.zona' '$.common.central'
        WITHOUT WRAPPER RETURNING JSON
    )
) AS final_json
FROM FB_TAB a
WHERE a.id = :id;
关键说明
  • 嵌套对象类型的字段(如contrato、provincia)必须用JSON_QUERY并指定RETURNING JSON,否则会被解析为字符串导致结构错误。
  • 原有语句中的TREAT(... AS JSON)可替换为RETURNING JSON子句,写法更规范,兼容性更好。
  • 若需新增/删除保留字段,方案1只需调整my_json内部的字段列表,方案2只需增减EXCLUDE后的路径即可。

内容的提问来源于stack exchange,提问作者Julio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.27 02:54:02