记录一下今天将json数据转化为mysql表的历程
数据源长这样

其中jsonstr字段是json类型,需要获取其中ID为3的jsonstr的data对象,并转化成表的形式

如果用Java代码应该是好实现的,我今天用了存储过程来做
代码如下:

CREATE  PROCEDURE proc_json_arr12(
i_userid int(11)
)
BEGIN
declare i int default 0;
declare v_length int(11);-- 接收对象的个数,作为循环的边界
declare v_a varchar(100);-- 接收数组的角标的变量
-- 获取对象的个数
select json_length(JSON_EXTRACT(jsonstr,'$.data')) into v_length from jsontb j  where ID=i_userid;
DROP temporary TABLE IF EXISTS test1;
-- 建立临时表保存查询的结果集中的须要的数据
create temporary table if not exists test1(
keyid varchar(10),
title varchar(100),
level varchar(10),
classtype varchar(10),
handlestatus varchar(10),
`date` date,
handlesammary varchar(100),
content text,
handleunit varchar(100),
deadtime varchar(100),
color varchar(100)
);
while i<v_length
do
set v_a=concat("$[",i,"]");
set @sql=concat("insert into test1(keyid,title,level,classtype,handlestatus,`date`,handlesammary,content,handleunit,deadtime,color)select -- 遍历解析,并去掉双引号
replace(JSON_EXTRACT(JSON_EXTRACT(jsonstr,'$.data[*].keyid'),'",v_a,"'),'\"',''),
replace(JSON_EXTRACT(JSON_EXTRACT(jsonstr,'$.data[*].title '),'",v_a,"'),'\"',''),
replace(JSON_EXTRACT(JSON_EXTRACT(jsonstr,'$.data[*].level '),'",v_a,"'),'\"',''),
replace(JSON_EXTRACT(JSON_EXTRACT(jsonstr,'$.data[*].classtype'),'",v_a,"'),'\"',''),
replace(JSON_EXTRACT(JSON_EXTRACT(jsonstr,'$.data[*].handlestatus '),'",v_a,"'),'\"',''),
replace(JSON_EXTRACT(JSON_EXTRACT(jsonstr,'$.data[*].date'),'",v_a,"'),'\"',''),
replace(JSON_EXTRACT(JSON_EXTRACT(jsonstr,'$.data[*].handlesammary'),'",v_a,"'),'\"',''),
replace(JSON_EXTRACT(JSON_EXTRACT(jsonstr,'$.data[*].content'),'",v_a,"'),'\"',''),
replace(JSON_EXTRACT(JSON_EXTRACT(jsonstr,'$.data[*].handleunit'),'",v_a,"'),'\"',''),
replace(JSON_EXTRACT(JSON_EXTRACT(jsonstr,'$.data[*].deadtime'),'",v_a,"'),'\"',''),
replace(JSON_EXTRACT(JSON_EXTRACT(jsonstr,'$.data[*].color'),'",v_a,"'),'\"','')from jsontb where ID=",i_userid);
prepare s from @sql;
execute s;
set i=i+1;
end while;
-- 插入目标表
insert into yuqing select * from test1;
end;
-- ID为3的数据:
call proc_json_arr12(3)

有不懂的可以指出来,或者有更好的办法可以讨论
至于为什么叫proc_json_arr12,因为我改了12次

参考内容:使用mysql存储过程来遍历json数组的值
从MySQL中数组内的JSON数据中获取值

【真实用】将json数据转化为mysql表相关推荐

  1. Labelme标注的json数据转化为coco格式的数据

    Labelme标注的json数据转化为coco格式的数据 1. 转化方法一 2. 转化方法二 1. 转化方法一 import os import json import numpy as np imp ...

  2. Chatito生成的json数据转化为rasa可以使用的yml文件

    引言 第一件事:求关注,一起讨论rasa相关问题以及各种python源码问题,随着python使用的深入,越来越觉得使用python对于工业实现在速度方面有着很大的劣势,在CSDN这个平台,希望能够多 ...

  3. 将json数据写入html表单,将json数据提交到html表中

    我需要基于json响应构建一个表,调用API时调用API, 调用API并让JSON工作正常,但我没有发现任何有关构建表的文档并从x.js传递给x.html.我成功地从json传递了1个参数/值.将js ...

  4. python中 将json数据转化为excel表格

    json数据格式 这里我需要进行数据转换的json数据格式有亿点复杂,为了方便我后续的处理,我想把他转换成excel来观察,json数据如下所示: 借助python代码查看后,得知json数据构成:2 ...

  5. 如何把获取的JSON数据插入到MySQL中

    自己在官网上搞数据存为JSON 然后插入到MySQL里 1 直接爬官网的数据 首先创建一个空的用来存放json文件的文件 // 需求: (1) 读取页面的html // (2) 把数据存入数据库,或存 ...

  6. 将json数据转化为excel表格文件

    1.安装 npm i js-export-excel 2.使用 //导入ExportJsonExcel包 const ExportJsonExcel = require("js-export ...

  7. php 去掉无关数据,php 读取 mysql 表中的double数据,去掉多余的0

    php 读取 mysql 表中的double数据,去掉多余的0 mysql 中有 ttt 表结构和数据如下 CREATE TABLE `ttt` ( `id` int(11) NOT NULL AUT ...

  8. jquery表单ajax json数据,jquery序列化form表单使用ajax提交后处理返回的json数据

    1.返回json字符串: /** 将一个字符串输出到浏览器 */ protected void writeJson(String json) { PrintWriter pw = null; try ...

  9. python读取mysql中表内数据_Python读取MySQL表数据的方法介绍

    这篇文章主要为大家详细介绍了Python如何读取MySQL数据库表数据,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 本文实例为大家分享了Python读取MySQL数据库表数据的具体代码,供大家参 ...

最新文章

  1. linux 临时设置英文输入,Linux 设置 Rime 默认英文状态
  2. 【数字信号处理】序列分类 ( 单边序列和双边序列 | 左边序列 | 右边序列 | 有限序列和无限序列 | 稳定序列和不稳定序列 )
  3. MSF常用的监听模块命令
  4. JVM内存结构|虚拟机栈
  5. ARM处理器指定运行核
  6. 解读2015之大数据篇:大数据的黄金时代
  7. ubuntu 下vivado关联vscode
  8. 如何防止数据库中的信息被“脱库”-笔记
  9. 最全PR曲线、ROC曲线以及AUC计算公式详解
  10. coreldraw橙子怎么画_CDR X6(CorelDRAW X6)怎么画一杯满满的橙汁?
  11. linpack测试软件,标准Linpack测试详细指南.pdf
  12. Apache FTPServer本地部署FTP服务
  13. Spring Boot—Controller 注解
  14. geoserver离线地图服务搭建和图层发布
  15. Python/gensim主题模型库
  16. 【SRE笔记 2022.8.25 linux用户组及用户命令】
  17. 计算机三级网络技术路由配置,计算机三级网络技术(7):路由器配置及使用(上)...
  18. BTA | 陈建闽(阿德):Token的分散过程,一定要基于场景
  19. 支付宝蚂蚁森林php自动,auto.js蚂蚁森林智能脚本使用方法分享 支付宝蚂蚁森林自动辅助...
  20. openshift/origin工作记录(9)——openshift结合jenkins实现持续集成

热门文章

  1. 发现一些我觉得很不错的字体,交流使用~
  2. Spring+Dubbo+MyBatis+Linner分布式Web开发环境搭建(二)
  3. python是什么语言的歌曲_Python良心国产库推荐:musicpy,用代码来写音乐
  4. 基于 Jenkins 构建的团队如何使用 Zadig 丝滑交付
  5. openwrt 模块编译与opkg应用
  6. 基于JTT808协议的车载终端接入网关中间件
  7. dropbox文件_Dropbox共享文件夹用户指南
  8. 价值观的选择(原题目:人生观、世界观、价值观)
  9. Nt*和Zw*开头的函数
  10. 穷举法:一道爱因斯坦的数学题