如何从字符串中获取json对象

如何从字符串中获取json对象,第1张

例如:

JSON字符串:

var str1 = '{ "name": "cxh", "sex": "man" }'

JSON对象:

var

str2 = { "name": "cxh", "sex": "man" }

一、JSON字符串转换为JSON对象

要使用上面的str1,必须使用下面的方法先转化为JSON对象:

//由JSON字符串转换为JSON对象

var obj = eval('(' + str + ')')

或者

var obj = str.parseJSON()//由JSON字符串转换为JSON对象

或者

var obj = JSON.parse(str)//由JSON字符串转换为JSON对象

然后,就可以这样读取:

Alert(obj.name)

Alert(obj.sex)

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

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

在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://54852.com/sjk/10864020.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存