【发布时间】:2020-03-30 11:16:47
【问题描述】:
我已经阅读了mysql文档中json的用法,但是我仍然不明白“JSON文档”这个词的含义,是“json数据类型”还是其他什么意思?我已经搜索了几乎整个文档对于这个词,但找不到任何解释。
【问题讨论】:
我已经阅读了mysql文档中json的用法,但是我仍然不明白“JSON文档”这个词的含义,是“json数据类型”还是其他什么意思?我已经搜索了几乎整个文档对于这个词,但找不到任何解释。
【问题讨论】:
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 文档是它建议的 JSON 格式的文档。还要检查 Mongodb.com,他们声称是基于文档的数据库。实际上它们的意思是它们将对象转换为 JSON 数据类型。这称为文档。
现在可以使用 MySQL 8.0 中引入的新 JSON 数据类型来存储 JSON 文档。顺便说一句,它在最近的 MariaDB 中并不存在,但您仍然可以在某些文本字段上使用一些 JSON 函数。
我希望这会有所帮助。
【讨论】: