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

json - 如何在 json 根节点中添加键值对并使用 SQL Server 将其转换为表

我有表人,它维护四列,即名称、标签名称、值、位置。我想将 json 中的标记名和值转换为名称和位置列作为根节点(多个记录的名称和位置相同)

需要输出为:

请检查以下查询,其中我正在尝试使用 json 路径创建 json 字符串但卡在根节点中。

当我将上述 json 转换为表格格式时,所需输出为:

0 投票
1 回答
75 浏览

json - 无法在包含 NULL 值的 SQL 表中创建 JSON 格式的列

我需要将 SQL 数据与列合并到一个表中,格式为 JSON。Json 列的长度不同,从 4 列到 5 列。因此,当长度为 4 时,我需要在 JSON 字符串中添加一个可选的 NULL 列。但是如果我将 4-Places Json 字符串放入我的函数中,则不会得到任何结果

以下功能有什么问题?

0 投票
1 回答
169 浏览

json - 如何将 json 字符串解析为 SQL Server 中的扁平行?

我在 SQL Server 中读入变量的文件中有如下数据:

现在我需要将其转换为如下数据:

值得关注的是 - 这个 JSON 中可能有很多这样的数组,并且代码应该能够自动处理所有这些数组,而无需更改代码。

我们怎样才能做到这一点?

0 投票
1 回答
197 浏览

sql - T-SQL JSON:JSON_QUERY 在将对象与字符串进行比较后返回 json 字符串

仅当 JSON 包含特定字段/属性时,我才尝试返回 JSON_QUERY 字段,但是当我将其与字符串(即字段名称)进行比较时,该函数不会返回 JSON ...

没有比较的单一代码:

返回:

使用 JSON 进行比较的代码

返回:

如果我不使用 JSON 字段进行比较(任何其他条件),它可以工作!

返回:

问题:如何检查 JSON 是否包含字段/属性而不将其更改为字符串?

0 投票
1 回答
230 浏览

json - 从 JSON 数组中删除元素,没有键

我正在寻找一种可以从 SQL Server 中的 JSON 数组中删除元素的方法,我尝试使用 JSON_MODIFY/OPENPATH,但似乎无法正确获取路径参数。

这是我想要做的一个例子是转换:

成为:

基本上,我想删除数组的任何元素,其中Actionis 2 和 theValueBeforeValueAfter字段是相同的。

这是我目前正在尝试的测试,但我不断收到以下错误:

错误:

消息 13619,级别 16,状态 1,第 4 行
JSON_MODIFY 的参数 2 中发现不支持的 JSON 路径。

我正在寻找的预期输出是:

如何计算出正确的 JSON 路径值,我似乎在网上找到的所有示例都没有数组作为 JSON 字符串的根元素。

请注意,元素的顺序并不重要。

0 投票
1 回答
71 浏览

sql - 使用 OPENJson 向表中插入数据

我有以下需要插入到表中的 Json

这是我用来处理 json 并插入到表中的查询

但是由于某种原因,数据没有插入到表中。我究竟做错了什么?

谢谢

0 投票
1 回答
65 浏览

sql - 在 SQL OPENJSON WITH 命令中处理嵌套 JSON?

我有 JSON 值,它有一些结构,但我正在努力达到第 3 级。我正在使用 CROSS APPLY OPENJSON 来获取“行”数据,但我需要从 TaxCode 区域中获取“代码”......这似乎是它自己的 JSON 数组?

任何帮助将不胜感激...这是我到目前为止...

0 投票
1 回答
60 浏览

sql-server - 如何计算出 JSON 中所有值的路径

我有一个 JSON 列,其中包含价值约 300k 的属性,我想尝试以一种可以获得属性的完整路径和值的方式导出它。请注意,我的 JSON 没有数组 - 它基本上是用于 Web 应用程序翻译的 JSON。

为了提供一个带有以下 JSON 的简单示例,我想返回以下内容:

JSON: {"Name":"Jeff", "Address": {"Street": "123 Harrow Street", "City": "Dublin"}}

预期输出:

或者,如果它更容易我可以使用 ,$.因为我希望能够轻松更新每个属性的值 - 使用JSON_MODIFY.

我试过使用 OPENJSON,但它似乎只返回 3 个字段键、值和类型,但至少这里的键没有超出值的字段级别,所以我得到:查询:

输出:

有没有办法让 OPENJSON 查询完全递归?还是有其他方法?我试过谷歌搜索,但这似乎不是一个常见的要求?

0 投票
2 回答
464 浏览

json - 在存储过程中多次访问 OPENJSON 解析 JSON?

考虑这个 JSON:

我将此 JSON 传递给一个存储过程,在该存储过程中对其进行解析并插入名称:

接下来,我想插入关系,所以首先我OPENJSON必须[Relations]

我知道我可以做类似的事情OPENJSON(@json, '$Relations')。但这将@json再次解析整个以搜索$Relations路径,而不是仅解析先前提取的[source].[Relations].

有什么解决方案可以让我使用类似的东西

这样OPENJSON就不必@json再次解析完整了吗?

0 投票
1 回答
114 浏览

sql - 如何使用带有交叉应用的 SQL OPENJSON 函数测量 json 文件中数组内数组的长度

所以在这个 json 中,行内的数组对象可以是多个(超过 2 个)。那么如何使用 OPENJSON SQL Server 函数计算数组 sinde 'rows' 的对象。

我所做的是,将此json存储到临时表#TempAb中,然后

所以这个查询只返回行的第一个对象的数据,但我想要所有行对象的数据。所以我知道计数然后在while循环中迭代它

解决方案: