全部產品
Search
文件中心

Realtime Compute for Apache Flink:JSON_VALUE

更新時間:Jul 13, 2024

使用JSON_VALUE函數,從JSON字串中提取指定路徑的運算式。

使用限制

僅Realtime Compute引擎VVR 3.0.0及以上版本支援JSON_VALUE函數。

文法

VARCHAR JSON_VALUE(VARCHAR content, VARCHAR path)

入參

參數

資料類型

說明

content

VARCHAR

需要解析的JSON對象。

path

VARCHAR

指定路徑運算式。自訂路徑需要使用單引號('),樣本如下。

JSON_VALUE(json,'$.passenger_name') AS ABC

目前路徑支援的符號及功能如下:

  • $:根對象。

  • []:數組下標。

  • *:數組萬用字元。

  • .:取子項目。

說明

如果入參中有不合法的JSON和NULL,則返回為NULL。

樣本

  • 測試資料

    表 1. T1

    id(INT)

    json(VARCHAR)

    path1(VARCHAR)

    1

    [10, 20, [30, 40]]

    $[2][*]

    2

    {"aaa":"bbb","ccc":{"ddd":"eee","fff":"ggg","hhh":["h0","h1","h2"]},"iii":"jjj"}

    $.ccc.hhh[*]

    3

    {"aaa":"bbb","ccc":{"ddd":"eee","fff":"ggg","hhh":["h0","h1","h2"]},"iii":"jjj"}

    $.ccc.hhh[1]

    4

    [10, 20, [30, 40]]

    NULL

    5

    NULL

    $[2][*]

    6

    "{xx]"

    "$[2][*]"

  • 測試語句

    SELECT 
        id,
        JSON_VALUE(json, path1) AS `value`
    FROM 
        T1;
  • 測試結果

    id (INT)

    value (VARCHAR)

    1

    [30,40]

    2

    ["h0","h1","h2"]

    3

    h1

    4

    NULL

    5

    NULL

    6

    NULL

相關文檔