JSON 二进制值包含无效数据

2023-12-31

因此,当我运行一个查询,将子查询的结果聚合到包含 JSON 对象的 JSON 数组中时,出现以下错误:The JSON binary value contains invalid data

这适用于 8.0.15,但不适用于 8.0.17 及更高版本。该错误似乎与子查询字段中字符串的长度有关。 1000个字符似乎是突破点。因此,如果您从 jsonString 中删除字符使其少于 1000 个字符,那么它就可以工作。

这是一个示例查询:

SELECT 1 
    , CONCAT('[', GROUP_CONCAT(DISTINCT JSON_OBJECT('sJsonData', rInt.jsonString) ORDER BY rInt.val DESC),']')
FROM (
(SELECT 1 AS val , '{"html":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed mattis diam ac purus dictum, sed consequat quam dignissim. Mauris sagittis urna ut turpis accumsan sodales. Praesent porttitor felis sagittis metus tristique vulputate. In nec nisl ipsum. Pellentesque sem ipsum, dignissim sit amet dictum ac, iaculis id elit. Fusce eu pellentesque leo. In suscipit felis at ultricies tristique.Suspendisse aliquet ligula quis risus ultricies aliquet. Etiam laoreet augue leo, id malesuada nisi mattis eget. Donec sit amet ultricies orci. Aenean vitae urna vel ligula mollis fringilla. Suspendisse quis auctor nisi, vel scelerisque ligula. Fusce ornare, enim a placerat tempus, sapien erat laoreet purus, ut ornare nulla risus nec dolor. Morbi dictum, odio non lacinia auctor, purus ex vulputate magna, nec dictum tortor turpis non quam. Ut commodo ut erat et sollicitudin. Aenean in scelerisque metus, et laoreet purus. Morbi nec viverra arcu. Nullam sed tempor elit, et molestie sem00000000000000"}' AS jsonString)
) AS rInt

我尝试将字符串转换为utf8mb4并更改它的排序规则但这并不能解决问题。

我还将在 MySQL 上提交一个错误,因为这似乎没有意义。看起来这个问题也与this bug https://bugs.mysql.com/bug.php?id=95698


GROUP_CONCAT() https://dev.mysql.com/doc/refman/8.0/en/group-by-functions.html#function_group-concat限制为 1024。您需要将 group_concat_max_len 设置为更高的值,如下所示:

SET SESSION group_concat_max_len = 60000;

发现 Db 小提琴here https://www.db-fiddle.com/f/44rahPRgwfyBSunZ7vAMSE/0

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JSON 二进制值包含无效数据 的相关文章

随机推荐

  • 给定的二叉树是否完整[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 给定一个二叉树 编写一个函数来检查给定的二叉树是否是完全二叉树 完全二叉树是这样的二叉树 除了最后一层之外 每一层都被完全填满 并且所有节
  • NHibernate Criteria 根据另一个表中的 itemid 的分组依据和总和来选择项目

    public class SearchText public virtual int Id get set public virtual string Text get set public class SearchTextLog publ
  • iOS 8+ 远程通知功能始终启用

    仅适用于 iOS gt 8 在我的 AppDelegate 中 我注册用户通知 如下所示 BOOL application UIApplication application didFinishLaunchingWithOptions NS
  • 从动态库调用 fprintf (c++)

    我正在创建一个包含日志记录类的 Windows DLL 库 该类中的日志函数只是像这样调用 fprintf 来进行测试 fprintf stderr 调试 s n 你好 现在 如果我从其他项目 使用该库 中的任何文件中的任何函数使用它 这个
  • 更改字体很棒的图标中的字体大小

    我正在使用 parallax pro genesis 子主题 因此我正在小部件区域内工作 我不确定我是否以正确的方式处理这个问题 但我尝试通过在小部件区域中执行此操作 在很棒的字体图标下进行书写 i class fa fa code fa
  • 当“try .. except IOError”没有捕获FileNotFoundError时如何处理它?

    如何捕获 python 3 上的错误 我用谷歌搜索了很多 但似乎没有一个答案有效 文件 open txt 不存在 因此应该打印 e errno 这就是我现在尝试的 这是我定义的函数 try with open file r as file
  • Python 中的重复排列

    我想迭代一个的所有顶点n尺寸为 1 的维度立方体 我知道我可以做到这一点itertools product如下 gt gt gt n 3 gt gt gt for j in it product 0 1 repeat n print j 0
  • 在钥匙串访问中生成证书签名请求:使用哪个私钥?

    我想知道 Mac OS X Snow Leopard 现在的 Lion 中使用哪个私钥 Keychain Access 每当我使用该应用程序创建 CSR 时 它甚至不要求使用私钥 那么它使用哪一个呢 我可以想象它使用了所选的一个 if您已在
  • 捕获两个重叠元素上的鼠标悬停事件

    所以我有一个 d3 图表rect覆盖以固定十字准线元素mouseover事件 在覆盖层下 我有其他显示数据的矩形mouseover事件处理程序也是如此 但是覆盖层被阻塞mouseover事件在下面的子矩形上形成触发器 let chartWi
  • C 中的静态数组初始化

    考虑以下陈述 typedef struct int member1 int member2 Custom t void ISR void static Custom t struct1 SOME CONSTANT 如何在 C 编程中将所有
  • 在 R 中读取以多个空格作为分隔符的文本文件

    我有一个大数据集 由大约 94 列和 300 万行组成 该文件具有单个和多个空格作为列之间的分隔符 我需要在 R 中读取该文件中的一些列 为此 我尝试使用 read table 以及可以在下面的代码中看到的选项 代码粘贴在下面 Defini
  • iOS 应用程序中的 Airplay 镜像

    我查看了几个链接并阅读了 Apple 文档 但没有得到任何在外部设备上镜像应用程序内容的分步说明 他们所解释的只是如何在识别到外部屏幕时显示新窗口 在我的应用程序中 我只需要在支持 Airplay 的设备上显示应用程序中显示的当前屏幕 有一
  • bash:expect 可以处理多个密码提示吗?

    我目前正在使用 Expect 来传递密码 这样我的脚本就可以自动运行 而无需我坐下来一遍又一遍地输入相同的密码 重要提示 请不要评论这有多大的安全风险或我应该如何使用 ssh 密钥 如果可以的话我会使用这些密钥 但我必须使用的设置不允许这样
  • 我可以生成自定义编译器错误吗?如果是这样,怎么办?

    这就是我想做的 我有一个项目必须在某些版本的 Delphi 或更高版本中编译 我想使用条件编译器指令来测试 Delphi 版本 然后使用自定义消息生成自定义编译器错误 如果不可能出现错误 能够生成自定义编译器警告或提示也足够了 当然 我可以
  • IIS 7 通过 HTTPS 进行 POST 是否有限制?

    我正在 PHP 中构建一个 Web 服务 用于处理通过 SOAP 请求从 Windows 应用程序接收到的数据 Windows 应用程序有点像黑匣子 但它会生成很长的消息流 然后将它们作为单个 SOAP 请求进行发布 使用 HTTP 可以正
  • 来自 c# 的 PInvoke c++ dll - 尝试加载格式不正确的程序。 (HRESULT 异常:0x8007000B)

    尝试使用 Dll 导入从 C 访问旧的 C DLL 已经在网上搜索了大约4天 但没有成功 我正在尝试使用来自 asp net mvc 3 网站 net 4 的 c dll 我已将平台目标更改为 x86 我已在 iis 中的应用程序池上将 启
  • 在 Xcode 4.5 中,“显示实时问题”不再起作用

    我发现 Xcode 在我编写代码时显示编译器警告非常有用 例如 如果我写了 ldksjfksdj 我希望立即看到一个红色感叹号图标和警告 use of undeclared identifier 但现在使用 Xcode 4 5 我只能在编译
  • 有没有使用 WebDav 的 Dreamweaver 开源替代方案?

    我们希望使用 WebDav 来处理我们的模板 但无法使用 Dreamweaver 有什么建议么 谢谢你 任何文本编辑器都应该在这里完成工作 我推荐崇高文本2 http www sublimetext com 2 or 记事本 http no
  • “AND NOT”运算的正则表达式[重复]

    这个问题在这里已经有答案了 我正在寻找一个通用的正则表达式构造来匹配模式 x 中的所有内容 除了匹配模式 y 之外 这很难完整而简洁地解释 看实质性非暗示 http en wikipedia org wiki Material nonimp
  • JSON 二进制值包含无效数据

    因此 当我运行一个查询 将子查询的结果聚合到包含 JSON 对象的 JSON 数组中时 出现以下错误 The JSON binary value contains invalid data 这适用于 8 0 15 但不适用于 8 0 17