目录
问题及目标
目标
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数据拿出来。
问题
->和->>区别
->查询会范围引号,->>返回值不会有引号

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

文章讲述了如何在MySQL中处理嵌套的JSON数据,特别是如何使用->和->>操作符来提取数据。->用于获取JSON对象的属性,而->>用于获取属性的字符串值。在处理需要进一步解析的JSON字段时,如couponList->couponInfo->gameInfo->outOrderId,必须使用->>来正确获取没有引号的值,以便进行后续操作。
7710

被折叠的 条评论
为什么被折叠?



