求一个数据库函数解析json 如下图要求

如题所述

第1个回答  2022-08-22

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

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

    在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

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网