gpt4 book ai didi

json - SQL Server 只读取有效 JSON 的第一行

转载 作者:行者123 更新时间:2023-12-04 03:05:32 24 4
gpt4 key购买 nike

我的 JSON 如下所示。 ADF 可以毫无问题地读取此 JSON 并导入所有行。

{"Row":{"Col1":"Val1", "Col2":"Val2"}}
{"Row":{"Col1":"Val1", "Col2":"Val2"}}
{"Row":{"Col1":"Val1", "Col2":"Val2"}}

但是,当我使用下面的查询从 SQL 中读取它时,它只返回第一条记录。

SELECT * FROM OPENJSON(@JSONDATA, '$')
with (
Col1 varchar(25) '$.Row.Col1'
);

你知道为什么吗?

最佳答案

我认为您必须像下面这样更改您的 JSON 数据结构。你的也不是有效的 JSON。尝试任何在线 JSON 验证器以查看差异。

正确的是:

[
{"Col1":"Val1", "Col2":"Val2"},
{"Col1":"Val1", "Col2":"Val2"},
{"Col1":"Val1", "Col2":"Val2"}
]

因为你的只是一个对象,它可能只会得到一行。 MSDN也像这样使用 OPENJSON

将其更改为数组后,您必须像这样编辑查询:

SELECT * FROM OPENJSON(@JSONDATA, '$')
with (
Col1 varchar(25) '$.Col1',
Col2 varchar(25) '$.Col2'
);

它现在获取屏幕截图中的所有行。

enter image description here

关于json - SQL Server 只读取有效 JSON 的第一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44927381/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com