【问题标题】:MySQL search in jsonarray with integer elementMySQL在带有整数元素的jsonarray中搜索
【发布时间】:2018-11-25 15:58:26
【问题描述】:

例如,我有一个 json_array [1, 2, 3],我想找出元素 '1' 在哪里。所以我使用“select json_search(json_array(1,2,3), 'all', '1')”,但结果总是为空,与我的预期'$[0]'不同。但我可以通过引用 ["1", "2", "3"] 之类的每个元素来解决它。我想知道如何直接从 json_array 中搜索整数。

【问题讨论】:

  • [1,2,3] 不是有效的 JSON 数组。您需要在字符串周围加上引号,因为它是一个有效的 JSON 数组

标签: mysql


【解决方案1】:

MySQL documentation 说:

JSON_SEARCH(json_doc, one_or_all, search_str[, escape_char[, path] ...])

如果 json_doc、search_str 或路径参数中的任何一个是,则返回 NULL 无效的;文档中不存在路径;或 search_str 未找到。

所以我猜你必须添加路径参数,但我必须对此进行研究。

你的 json_array 应该没问题:

SELECT JSON_ARRAY(1,2,3);
+-------------------+
| JSON_ARRAY(1,2,3) |
+-------------------+
| [1, 2, 3]         |
+-------------------+

【讨论】:

    猜你喜欢
    • 2015-02-19
    • 2013-07-25
    • 1970-01-01
    • 1970-01-01
    • 2018-02-19
    • 2010-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多