问题标签 [for-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 回答
408 浏览

sql-server - 需要将动态 SQL、开放式查询、JSON、动态变量和其他一些奇怪的东西混合到一个查询中

需要通过 OpenQuery 在 MS SQL 上针对 DB2 运行动态 SQL,以 JSON 格式返回结果,然后将其作为输出参数返回到存储过程中

如示例代码所示,我尝试使用表变量,但出现此错误:

INSERT 语句中不允许使用 FOR JSON 子句

我也尝试将查询包装到 CTE 中,但鉴于 JSON 列名更改,我无法使用 * 或出现此错误:

没有为“tbl”的第 1 列指定列名。

所以我很茫然。我需要运行它并在 Output 参数中获取 JSON,但鉴于我必须通过 OpenQuery 和动态 SQL 混合调用 DB2 来设置参数,所以我找不到有效的语法。

我要查找的结果是输出参数@outJSON 中的 JSON 字符串。

0 投票
0 回答
59 浏览

json - 在 SQL Server 中输出嵌套 json 的最简单方法是什么?

我想编写一个返回嵌套 json 的存储过程。我目前正在尝试编写查询来执行此操作,但我对编写它所需的格式有点困惑。

我想要看起来像这样的json:

包含值的对象数组,包含值的对象数组,以及包含值的对象数组。

或者换一种说法,我有一个表与另一个表具有一对多关系,而另一个表与第三个表具有一对多关系,我想打印出代表这个的 json。

我试图为此编写一个查询,但我是 SQL 新手,并且在使用“嵌套查询”时遇到了困难。我不确定您是否甚至可以使用普通 SQL 来做到这一点,因为您只需要从外部嵌套中再次打印所有这些信息,次数与内部嵌套的结果相同。

0 投票
2 回答
4176 浏览

json - 将来自多行的 JSON 对象组合成一个对象

DB<>小提琴

我想得到如下输出:

0 投票
1 回答
257 浏览

sql - 重用 T-SQL FOR JSON 子查询

下面是一个嵌套 FOR JSON 查询的简单示例:

有没有办法重用UserEmails子查询?例如在一个函数中?

喜欢:

我还希望能够自行调用dbo.GetUserEmailsJSON()并以 JSON 格式返回数据。

0 投票
1 回答
454 浏览

sql - 如何将数组聚合并加入或联合成平面 Json 对象?

我的数据看起来像:

客户

客户联系人

这是我正在寻找的结果:

我尝试过的: 我很尴尬地说我还没有接近:

0 投票
1 回答
58 浏览

json - 如何使用 FOR JSON 构建这种格式的 JSON?

我想使用FOR JSON为 HTTP Post 调用构建数据有效负载。我的源表可以用这个片段重新创建:

数据需要格式化如下:

到目前为止,我的尝试如下:

但是,这会返回对象数组而不是,如下所示:

如何将数组限制为仅显示值?

0 投票
3 回答
818 浏览

sql - 从 SQL Server 以字典(字符串索引列表)表示法输出 json

我在 SQL 服务器中有这个结果集:

我想将它输出为 json,SQL server 2016+ 有很多功能。但我想要一个由 id 索引的传统字符串索引列表(“字典”),如下所示:

目标

但是,典型的select * from table for json path输出为未索引的对象数组:

当前状态

其他for json修饰符,如root表面上相关,但据我所知,只是美化了在外部根节点中捕获整个对象的字符串连接。

如何使用本机(高性能)SQL 服务器json函数完成上述表示法?

0 投票
2 回答
202 浏览

sql - SQL Server - 用于 JSON 路径

我知道我需要使用 FOR JSON 来完成这项工作,我只是不确定如何为此按某个列进行分组。

我有以下数据集:

我需要将每组“确认”转换为 JSON 有效负载,最好带有“确认”的标识符列:

这是我用来获取数据集的查询:

当我运行 FOR JSON PATH 时,它给了我以下内容,这不是我正在寻找的内容。

ETC...

0 投票
2 回答
38 浏览

sql - SQL JSON:使用 sql 查询 FOR JSON 在自定义节点下嵌套几个节点

所以我编写了一个查询,将输出作为 JSON 对象数组提供,其中一个对象如下

但我希望输出为

我在 Select 查询末尾使用了“For JSON Auto”短语,并且由于课程和学生具有一对多关系,因此学生被格式化为数组。我想要的是少数节点以及“studentList”节点数组应该嵌套在自定义节点“有效负载”下。如何使用 For JSON 及其相关属性在 SQL 查询中实现这一点?

0 投票
1 回答
324 浏览

tsql - TSQL:从 JSON 子属性中删除方括号

我有以下 SQL 查询来创建 JSON。我使用WITHOUT_ARRAY_WRAPPER所以根不会创建数组。

上述查询生成以下 JSON。(为简洁起见,我删除了一些 json 属性)

DocumentID是表中的PK和表中的DocumentsFK 。也是它在表中的唯一键。 所以基本上to是1对1的关系。所以我不希望属性成为输出 json 中的数组。 NoticesNoticeDetailsNotices
DocumentsNoticesNotice

我预期的输出 json 应该是

我的 SQL 应该是什么才能获得预期的输出?