[{"id":"840f0737-df1d-47ae-bb0a-359b01fe0608","tags":[{"product":null,"links":null,"id":"adf72f47-7f61-4239-8392-b9bcc127fa80","name":"\u65B0\u589E","color":"green","productId":"0995490e-43fc-4d6e-bc8d-8e66f38b0c63"}]},{"id":"d5d9cdef-8854-4505-89be-a2bbc3cb4482","tags":[{"product":null,"links":null,"id":"adf72f47-7f61-4239-8392-b9bcc127fa80","name":"\u65B0\u589E","color":"green","productId":"0995490e-43fc-4d6e-bc8d-8e66f38b0c63"}]},{"id":"3dc3dd55-35b0-4d23-bf62-47bc3650e4ee","tags":[{"product":null,"links":null,"id":"adf72f47-7f61-4239-8392-b9bcc127fa80","name":"\u65B0\u589E","color":"green","productId":"0995490e-43fc-4d6e-bc8d-8e66f38b0c63"}]},{"id":"80d84fbc-d0f8-4e4a-947f-e3e4de9b49b2","tags":[{"product":null,"links":null,"id":"adf72f47-7f61-4239-8392-b9bcc127fa80","name":"\u65B0\u589E","color":"green","productId":"0995490e-43fc-4d6e-bc8d-8e66f38b0c63"}]},{"id":"9152b7ca-0186-4fe3-a26f-5a05f322db07","tags":[{"product":null,"links":null,"id":"adf72f47-7f61-4239-8392-b9bcc127fa80","name":"\u65B0\u589E","color":"green","productId":"0995490e-43fc-4d6e-bc8d-8e66f38b0c63"}]}]
        
(Showing Draft Content)

Json Value 和Json Query

Json Value 和Json Query 函数也可以在SQL语句中使用。

Json Value 函数返回一个值,而Json Query 函数则用来返回一个对象或数组。

示例

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

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

在这个例子中,可见“a”和 "c" 的值均为字符串类型,而“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

那么我们在系统中怎样使用呢?比如我们可以结合表值函数来使用,如下图所示。

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


首先使用 JsonQuery 返回 [1,2], 然后使用表值函数 UnwindJson 将其展开。最终的结果为:

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