首页 > 解决方案 > 使用 JSON_OBJECT 的 JSON 格式

问题描述

我想使用 JSON_OBJECT 实现以下 JSON 格式。请帮忙。

{
  "abc": {
    "input": 10,
    "max": 20,
    "check": 30
  },
  "xyz": {
    "income": 198000
  }
}

尝试使用以下查询实现相同的目的。

SELECT JSON_OBJECT
(
                    'agri_Expense' VALUE 
       JSON_OBJECT(
                    'input'     VALUE 10,
                    'max'       VALUE 20,
                    'check'     VALUE 30
                  )  JSON_OBJECT('xyz'
                    JSON_OBJECT('income' VALUE( 19800 ) )
        
)
 FROM DUAL

请帮忙。语法问题。

标签: sqljsonoracle

解决方案


你需要这样的东西:

SQL> SELECT JSON_OBJECT (
  2  'agri_Expense' VALUE
  3      JSON_OBJECT ('abc' value
  4                      JSON_OBJECT( 'input' VALUE 10, 'max' VALUE 20, 'check' VALUE 30),
  5                   'xyz' VALUE
  6                      JSON_OBJECT ( 'income' VALUE 19800 ))
  7  )
  8    FROM DUAL;

JSON_OBJECT('AGRI_EXPENSE'VALUEJSON_OBJECT('ABC'VALUEJSON_OBJECT('INPUT'VALUE10,
--------------------------------------------------------------------------------
{"agri_Expense":{"abc":{"input":10,"max":20,"check":30},"xyz":{"income":19800}}}

SQL>

更新

SQL> SELECT
  2  JSON_OBJECT ('abc' value
  3                  JSON_OBJECT( 'input' VALUE 10, 'max' VALUE 20, 'check' VALUE 30),
  4               'xyz' VALUE
  5                   JSON_OBJECT ( 'income' VALUE 19800 ))
  6    FROM DUAL;

JSON_OBJECT('ABC'VALUEJSON_OBJECT('INPUT'VALUE10,'MAX'VALUE20,'CHECK'VALUE30),'X
--------------------------------------------------------------------------------
{"abc":{"input":10,"max":20,"check":30},"xyz":{"income":19800}}

SQL>

推荐阅读