mysql - 如何在 mysql 中搜索迭代循环 json 数据?
问题描述
我正在使用带有本机 JSON 数据类型的 MySQL 5.7+。
样本数据:
set @jsn_string='{\"body\": {\"items\": \"[{\\"count\\":530,\\"id\\":5},{\\"count\\":1,\\"id\\":519},{\\"count\\":209,\\"id\\":522},{\\"count\\":0,\\"id\\":3004}]\"}}';
问题:
我想检索迭代的键值。
以下结果有数据的位置
select json_extract(replace(replace(replace(trim(@jsn_string), '\"[', '['), ']\"', ']'), '\\"', '\"'),'$.body.items[0].id') as id,
json_extract(replace(replace(replace(trim(@jsn_string), '\"[', '['), ']\"', ']'), '\\"', '\"'),'$.body.items[0].count') as count;
结果是 id 计数 5 530
但我想要所有数组,如下所示
id[0] count[0],
id[1] count[1],
id[n] count[n]
解决方案
推荐阅读
- python - 如何使用scrapy查询包含在json响应中的html
- python - 如何在 Django 模板中生成绝对 URL?
- ios - 如何使用 NSStream TCP/IP 套接字连接检查本地网络隐私权限状态(允许与否)?
- sql - 触发特定字段更改的触发器 Firebird 3.0
- r - 在数据框中渲染 NA 计数
- php - 在 PHP 中计算大小尺寸
- macos - 须藤、PK 执行等。在 MAC 上不存在
- java - 无法使用 Keycloak 验证应用程序用户的登录
- amazon-web-services - 有没有办法使用 NLB 对 PHP-FPM + NGINX 的 HTTP 请求进行负载平衡?
- ruby-on-rails - Heroku Rails 服务器 API 启动时未设置正确的端口号