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

Json Value 和Json Query

1. 概述

1.1 功能概述

JsonValueJsonQuery 是用于处理 JSON 数据的 SQL 函数。JsonValue 用于从 JSON 数据中提取单个标量值,而 JsonQuery 则用于提取 JSON 对象或数组。

本文将为您详细介绍JsonValueJsonQuery

2. 示例

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

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

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

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

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

Path

JsonValue返回

JsonQuery返回

$

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 使用场景

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

  1. 使用 JsonQuery 提取 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