问题标签 [open-json]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
511 浏览

json - 使用 OPENJSON 查询时,结果集会模仿 JSON 数组的顺序还是随机顺序?

假设我有这个 JSON 数组:

OpenJSON在 SQL Server 的查询中使用它。

查询结果集是否总是与数组相同的顺序:

或者它会像任何没有 order by 的普通 Select 查询一样是随机的吗?

0 投票
1 回答
534 浏览

json - 在 SQL Server 2016 中循环遍历 JSON

我有一个以下 JSON

我想遍历 JSON 并一个一个地处理每个迭代。我尝试使用虽然将 JSON 的长度作为计数,但无法弄清楚如何一一获取值

在 SQL Server 2016 中甚至有可能吗?

到目前为止我试过这个

0 投票
1 回答
2148 浏览

json - OPENJSON with dynamic JSON key value pair

we are having a JSON document, where week numbers are dynamic keys. We want to load them to a relational table.

We are able to achieve relational resultset, if we hardcode the weeknumbers, as given below. But, it looks like a circuitous approach with hardcoded values. We want to make it dynamic.

Is there a way in TSQL to dynamically map the key value pairs as a relational table ?

The result set we got is:

0 投票
1 回答
579 浏览

sql-server - 如何将存储在列中的 JSON 数组中的每个元素的行拆分为一行?

好的,所以,这很难解释,但我会试一试。谷歌没有帮助我,所以如果它可以帮助其他人,请更新这个问题。

背景

我有一个表格Persons,其中有一些列,例如 [ID]、[Name] 和 [PhoneNumbers]。该表正在填充来自第三方系统的数据,因此我无法更改我们插入数据的方式。

[PhoneNumbers] 列包含一个 JSON 数字数组,如下所示:

我现在正在尝试针对该表编写一个视图,目标是每个数字都有一行。

问题

我可以使用 T-SQL 和它的 JSON 支持来实现这一点吗?我正在使用 SQL Server 2016。

0 投票
1 回答
814 浏览

sql-server - 在 JSON_VALUE 中选择 Json Object 作为 nvarchar(max)

我不知道如何将 JSON 的路径提取为nvarchar(max). 它总是返回 null。

我不想指定要获取的字段,因为我不知道字段名称。所以这里的想法是选择它作为一个字符串并稍后处理它们。

预期结果是该Type列包含address作为字符串的整个 JSON 对象

0 投票
1 回答
469 浏览

sql - 从 JSON 数组中获取每行多条记录

我无法理解如何从单行中提取多个值,其中每一行的 JSON 数组中都有源。

设置可能有点傻,但就是这样。

桌子:

内容:

结果我想要:

我用 CROSS APPLY 和 JSON_QUERY 尝试了一些东西,但直到现在还没有运气。

一个例子是:

但是当数据库中只有 77 行时,这将返回 219.851 行。在我的数据库中,它应该返回大约 13.000 条记录。

0 投票
1 回答
1917 浏览

sql - 对多个 JSON 对象内的 Json 对象进行 SQL 查询

我有下面的 Json 字符串。我需要编写一个查询来获取 TP 记录。在不提供索引值的情况下,我们需要得到结果。

如何查询以获取 TP 值。

预期结果:

0 投票
0 回答
60 浏览

sql-server - SQL Server:存储过程中的 OPENJSON 错误

以下代码在我的本地 Sql Server 实例中有效,但在远程实例中失败并出现错误您能帮我解决这个问题吗?出现错误@

102: '$.Location' 附近的语法不正确

编辑:SQL Server 版本。在这两种情况下都是一样的。

Microsoft SQL Server 2017 (RTM-CU13-OD) (KB4483666) - 14.0.3049.1 (X64) 2018 年 12 月 15 日 11:16:42 版权所有 (C) 2017 Microsoft Corporation Web Edition (64-bit) o​​n Windows Server 2016 Datacenter 10.0 (内部版本 14393:)(管理程序)

添加完整的过程来重现此错误

0 投票
1 回答
709 浏览

json - 如何从 OPENJSON 获取多列值并交叉应用

我在 Visual Studio 2019 中使用 SQL Server。我已经下载了美国邮政编码的大型 JSON 文件。我的目标是从字段中获取所有属性,如下所示:

在此处输入图像描述

并将它们的属性保存在我的数据库中。

我不关心性能,因为我只想这样做一次,所以我可以永远访问它们。到目前为止,我可以得到这个:

在此处输入图像描述

但它只是作为一长列出现。我尝试做一些这样的选择语句:

但它带有错误的 JSON 格式文本。如何将 JSON 文件放入我的数据库?

0 投票
1 回答
587 浏览

sql - openjson:选择星

我在 json 文件 (C:\db.json) 中有一个表:

它有大约 60 个“列”。我有 100 个这样的“表”要导入 SQL Server,每个表都有自己的架构。我发现可以这样做:

我真的需要避免手动编写列列表。一种选择是解析 json 并生成列列表。在我开始走这条路之前,我想知道是否有一种方法可以避免列出列,类似于SELECT *?