【问题标题】:what's the meaning of the word "Json document" in mysql?mysql中“Json文档”这个词是什么意思?
【发布时间】:2020-03-30 11:16:47
【问题描述】:

我已经阅读了mysql文档中json的用法,但是我仍然不明白“JSON文档”这个词的含义,是“json数据类型”还是其他什么意思?我已经搜索了几乎整个文档对于这个词,但找不到任何解释。

【问题讨论】:

标签: mysql json


【解决方案1】:

JSON 文档是一个字符串,符合 JSON 格式。

基本上,如果JSON_VALID(string) 返回 true,那么它就是一个 JSON 文档。

示例:在 JSON 格式中,您可以创建一个字符串数组,但字符串必须单独引用,否则它不是有效的 JSON。

mysql> select JSON_VALID('[words, must, be, quoted]');
+-----------------------------------------+
| JSON_VALID('[words, must, be, quoted]') |
+-----------------------------------------+
|                                       0 |
+-----------------------------------------+
1 row in set (0.00 sec)

mysql> select JSON_VALID('["words", "must", "be", "quoted"]');
+-------------------------------------------------+
| JSON_VALID('["words", "must", "be", "quoted"]') |
+-------------------------------------------------+
|                                               1 |
+-------------------------------------------------+

如果它不是有效的 JSON,那么它就不是“JSON 文档”。如果它不是 JSON 文档,则 JSON data type 的列将不接受它,MySQL's JSON functions 将不起作用。

JSON 格式当然还有其他语法规则。有关规范,请参阅 https://www.json.org/

【讨论】:

  • 所以实际上一个 json 文档是 mysql 中一个类似 json 的字符串,是这样吗?
  • JSON 文档这一术语并不特定于 MySQL。该术语由其他数据库和使用 JSON 的任何其他应用程序使用。它通常表示一个有效的 JSON 字符串。
【解决方案2】:

JSON 文档是它建议的 JSON 格式的文档。还要检查 Mongodb.com,他们声称是基于文档的数据库。实际上它们的意思是它们将对象转换为 JSON 数据类型。这称为文档。

现在可以使用 MySQL 8.0 中引入的新 JSON 数据类型来存储 JSON 文档。顺便说一句,它在最近的 MariaDB 中并不存在,但您仍然可以在某些文本字段上使用一些 JSON 函数。

我希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 2018-10-29
    • 2010-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多