先将json转成struct。然后json.Unmarshal即可。json转struct,可以直接用在线的工具:https://mholt.github.io/json-to-go/在左边贴上json后面就生成struct了。
高斯数据库是由华为于2019年5月15日在北京发布的一款人工智能原生数据库。该数据库支持本地部署、私有云、公有云等多种场景。
数据库只是用来存储数据的,为什么不把处理数据的部分放在后台?
在这里你需要了解以下几个知识点。
在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
item[i].xm改为
item.xm
其他类似情况也照此修改
item本身就是遍历出的每个元素(而不是整个json对象),不要加下标
另外,你这data.d的值是字符串还是json对象?如果是前者,那就要用eval转换为json对象,是后者就不需要再转换。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)