mysql5.7+json多层数据查询

目录

问题及目标

目标

问题

实施方法

参考文献


问题及目标

目标

mysql数据库的json数据嵌套多层,写入格式如下:

{
	"version": "2.0.0",
	"transCode": 10ss,
	"openId": "o04wsss1w",
	"accountNo": "1000sss25",
	"agentId": "xx0ss",
	"couponList": [{
		"couponNo": "204401430sss9",
		"couponAmount": 400,
		"expiryStartDate": "20sss0",
		"expiryEndDate": "2023xx959",
		"prizeType": 6,
		"prizeStatus": 0,
		"couponInfo": "{\"channelType\":1,\"couponNo\":\"2044xxx089\",\"countyCode\":\"\",\"activityId\":xxxx3,\"prizeId\":100xx9,\"transCode\":1xx1,\"gameInfo\":\"[{\\\"gameCategory\\\":2,\\\"gameId\\\":\\\"xx800\\\",\\\"gameNo\\\":\\\"85\\\",\\\"pickMethod\\\":\\\"1\\\",\\\"betCount\\\":\\\"2\\\",\\\"betMults\\\":\\\"1\\\",\\\"ifAdditional\\\":0}]\",\"couponAmount\":400,\"winTime\":\"20230xxx90142\",\"expiryStartDate\":\"2023xx0000\",\"expiryEndDate\":\"2023xx59\",\"description\":\"赠送xxx票一张!\",\"outOrderId\":\"1000002020xxx425879\",\"prizeType\":6,\"ifVerification\":1,\"prizeDetails\":\"仅限xx店使用。\",\"isRealName\":0,\"prizeName\":\"体验券x元\",\"reduceType\":3,\"couponSource\":1}"
	}],
	"sign": "e2f80c2814bxxx1afa0e"
}

需要将couponList->couponInfo->gameInfo->outOrderId数据拿出来。

问题

->和->>区别

->查询会范围引号,->>返回值不会有引号

mysql5.7+json多层数据查询_第1张图片

  带引号的数据继续访问下层数据是不行的,所以一定要用->>获取数据

解决方法

mysql5.7+json多层数据查询_第2张图片

参考文献

https://www.cnblogs.com/jingzh/p/16540150.html

你可能感兴趣的:(mysql,数据库开发)