0

我有一个 JSON 字符串

'{ "d" : [ "test0", "test1", "test2" ] }'

并希望将 Array 的项目作为行检索。

+------------+
|   data     | 
+------------+ 
|  test0     | 
|  test1     | 
|  test2     | 
+------------+  

Web 上的所有示例,都展示了如何使用“对象数组”来完成,但我想用一个简单的“字符串数组” MS 示例来完成。

默认查询

select * from OPENJSON('{"d":["test0","test1","test2"]}', '$.d')

只返回一个表,其中包含每个条目的键、值和类型

+-----+-------+------+
| key | value | type |
+-----+-------+------+
|   0 | test0 |    1 |
|   1 | test1 |    1 |
|   2 | test2 |    1 |
+-----+-------+------+

问题是,我不知道如何设置查询的with部分,以便查询返回一行。

select * from OPENJSON('{"d":["test0","test1","test2"]}', '$.d')
with(data nvarchar(255) '$.d')

只返回:

+------+
| data |
+------+
| NULL |
| NULL |
| NULL |
+------+
4

1 回答 1

3
select * from OPENJSON('{"d":["test0","test1","test2"]}', '$.d') 
    with(data nvarchar(255) '$')  

在此处输入图像描述

于 2019-09-17T13:28:50.507 回答