Mysql之json字符串 解析成对应字段

mysql数据库中有一个字段,其对应内容为json字符串

append:

{"photos":[{"url":"shopping\/20180419\/d632d2661573bf10d0481e19685cb771.jpg","name":"TB2qHHTtFXXXXcdXXXXXXXXXXXX_!!0-saturn_solar.jpg_230x230.jpg_.webp.jpg","thumbnail":[{"width":"64","height":"64","filename":"thumb_64x64_d632d2661573bf10d0481e19685cb771.jpg","file_path":"shopping\/20180419\/thumb_64x64_d632d2661573bf10d0481e19685cb771.jpg"},{"width":"128","height":"128","filename":"thumb_128x128_d632d2661573bf10d0481e19685cb771.jpg","file_path":"shopping\/20180419\/thumb_128x128_d632d2661573bf10d0481e19685cb771.jpg"},{"width":"320","height":"320","filename":"thumb_320x320_d632d2661573bf10d0481e19685cb771.jpg","file_path":"shopping\/20180419\/thumb_320x320_d632d2661573bf10d0481e19685cb771.jpg"},{"width":"640","height":"640","filename":"thumb_640x640_d632d2661573bf10d0481e19685cb771.jpg","file_path":"shopping\/20180419\/thumb_640x640_d632d2661573bf10d0481e19685cb771.jpg"}]}]}

需求:将append字段中的单独解析出来

具体做法如下:

SELECT
	id,
	`name`,
	REPLACE (
		JSON_EXTRACT (append, '$.photos[0].url'),
		'"',
		''
	) AS 'url',
	single_price
FROM
	items
WHERE
	id = 2695

扩展:

如果需要对上述查询出来的结果进行拼接只需要concat即可

SELECT
	id,
	`name`,
	REPLACE (
		JSON_EXTRACT (append, '$.photos[0].url'),
		'"',
		''
	) AS url,
	single_price,
	"http://test.img/upload/" AS prefix,
	CONCAT(
		"http://test.img/upload/",
		REPLACE (
			JSON_EXTRACT (append, '$.photos[0].url'),
			'"',
			''
		)
	)
FROM
	items
WHERE
	id = 2695

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dkjhl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值