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

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

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

数据库只是用来存储数据的,为什么不把处理数据的部分放在后台?

在这里你需要了解以下几个知识点。

在sqlserver 中存储json ,需要用字符串类型进行存储,一般用nvarchar()或 varchar()进行存储。

openJson:打开Json字符串

IsJson:判断一个字符串是不是合法的Json格式。是返回1,否返回0,null返回null。

Json_Value:从Json字符串中提取值。

Json_Query:Json字符串中提取对象或数组。

Json_Modify:更新Json字符串中的属性值,并返回更新的Json字符串

然后参考图片的需求,获取输入key值中的value字段可以得到如下sql语句。

从JSON中获取输入B的JSON对象

SELECT JSON_QUERY(json, CONCAT('$.',key)) INTO K_VAL

从B的JSON对象中,获取value字段的值

SELECT JSON_VALUE(K_VAL, '$.value') INTO JSONVALUE

最终我们的声明的函数大概是:

CREATE FUNCTION PARSEJSON(json VARCHAR(2000), key VARCHAR(200))

RETURNS VARCHAR

BEGIN

declare JSONVALUE VARCHAR

declare K_VAL VARCHAR

SELECT JSON_QUERY(json, CONCAT('$.',key)) INTO K_VAL

SELECT JSON_VALUE(K_VAL, '$.value') INTO JSONVALUE

return JSONVALUE

END


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

原文地址: https://outofmemory.cn/sjk/6833006.html

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

发表评论

登录后才能评论

评论列表(0条)

保存