[]
        
在线Demo 免费试用
(Showing Draft Content)

Json Value 和Json Query

1. 概述

1.1 功能概述

Json ValueJson Query 是用于处理 JSON 数据的 SQL 函数。JSON_VALUE 用于从 JSON 数据中提取单个标量值,而 JSON_QUERY 则用于提取 JSON 对象或数组。

本文将为您详细介绍Json ValueJson Query

2. 示例

以下通过一个具体的 JSON 示例来说明 JSON_VALUEJSON_QUERY的用法。

例如,我们来看下边这一段JSON:

{
  "a": "[1,2]",
  "b": [1, 2],
  "c": "hi"
}

在这个例子中,可见ac的值均为字符串类型,而b 的值是一个数组。

那么接下来,我们来看使用Json Value 和Json Query 函数 分别可以返回什么结果:

Path

JSON_VALUE 返回

JSON_QUERY 返回

$

NULL or error

{ "a": "[1,2]", "b": [1,2], "c":"hi"}

$.a

[1,2]

NULL or error

$.b

NULL or error

[1,2]

$.b[0]

1

NULL or error

$.c

hi

NULL or error

2.1 使用场景

在实际系统中,JSON_VALUEJSON_QUERY 可以结合其他函数(如表值函数)使用。例如:

  1. 使用 JSON_QUERY 提取 JSON 数组 [1, 2]

  2. 使用表值函数 UnwindJson 将数组展开为多行数据。

2.2 操作步骤

  1. 首先使用 JsonQuery 返回 [1,2], 然后使用表值函数 UnwindJson 将其展开,如下图所示。

    image2020-9-17_16-1-57.png

  2. 最终的结果为:

    image2020-9-17_16-4-23.png