json 存储在数据库中用什么格式

json 存储在数据库中用什么格式,第1张

JSON的格式非常简单:名称/键值。之前MySQL版本里面要实现这样的存储,要么用VARCHAR要么用TEXT大文本。 MySQL5.7发布后,专门设计了JSON数据类型以及关于这种类型的检索以及其他函数解析。我们先看看MySQL老版本的JSON存取。

1、假如json字符串的最大长度不会超过1024字节,那么我们可以定义表结构varchar(1024)。如下图,我们定义一个表t_save_json,有一个自增的id字段以及json字段保存json字符串。

2、如果json字符串中字符是双引号标记的,如{"name":"Q花荣","age":18,"a":"第一条信息"}。那么我们写sql语句保存到数据库时直接用引号括起来就行。如:insert into t_save_json set json = '{"name":"Q花荣","age":18,"a":"第一条信息"}'

3、如果json字符串中字符是单引号标记的,如{'name':'Q花荣','age':18,'a':'第二条信息'}。那么通常的做法需要对单引号进行转义,写sql语句时连续两个''表示单引号。如:insert into t_save_json set json = '{''name'':''Q花荣'',''age'':18,''a'':''第二条信息''}'

但笔者发现mysql中,sql中用双引号来标记json字符串也可以,一般比较少用,笔者也学习了。如:insert into t_save_json set json = "{'name':'Q花荣','age':18,'a':'第三条信息'}"

4、如果json字符串长度太大,那么我们建表时还是应该选择TEXT类型。TEXT采用字符存储,专门为存储大数据而设计。如下图,我们定义表t_save_json_2,json字段类型为TEXT,保存大字符串。

5、使用相同的sql语句,保存json字符串到表t_save_json_2中。

直接varchar或者text之类的类型即可插入。在Mysql5.7或以上可以支持JSON数据类型。其他的数据库你可以参考他的不同版本,考虑是否支持JSON数据类型,如果不支持就用字符串类型。但是要考虑长度。

PS:如果是用客户端链接,那么就算数据库支持,那客户端也得是最新版支持JSON的,要不然数据库支持,工具以为不支持!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9885627.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存