您的位置首页生活百科

怎样将json字符串存到数据库的一个字段里

怎样将json字符串存到数据库的一个字段里

的有关信息介绍如下:

怎样将json字符串存到数据库的一个字段里

json字符串因为可以含有单引号和双引号,插入数据库时对于字符串也要用单引号括起来,这就要特别注意要对json字符串中的单引号进行转义。否则,极有可能就报sql不正确了。

同时,字符串长度不一定,我们建表时字段类型的选择也需要预估一下字符串长度来定。

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

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

如果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':'第三条信息'}";

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

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