最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

mysql-数据库读取出来的数据如何组装多层嵌套的json

来源:懂视网 责编:小采 时间:2020-11-09 09:19:34
文档

mysql-数据库读取出来的数据如何组装多层嵌套的json

mysql-数据库读取出来的数据如何组装多层嵌套的json:mysqljson算法 数据结构 java 数据库字段如图三个主键day,hour,store,就是按要可以查出某天的某小时的某个店铺的具体销售情况,day,hour,store的数据可重复,但三个字段组成的数据是唯一的。要求用java。mysql。jdbc(其它数据库连
推荐度:
导读mysql-数据库读取出来的数据如何组装多层嵌套的json:mysqljson算法 数据结构 java 数据库字段如图三个主键day,hour,store,就是按要可以查出某天的某小时的某个店铺的具体销售情况,day,hour,store的数据可重复,但三个字段组成的数据是唯一的。要求用java。mysql。jdbc(其它数据库连
mysqljson算法 数据结构 java

数据库字段如图

三个主键?day,hour,store,就是按要可以查出某天的某小时的某个店铺的具体销售情况,
day,hour,store的数据可重复,但三个字段组成的数据是唯一的。
要求用java??mysql??jdbc(其它数据库连接技术也可以)但语言必须是java。
如何读取数据库组成下面这种格式的json?
我自己用jdbc然后多层while循环可以组成这种格式,但是非常低效。数据量一大就很慢很慢了

求高效的解决办法

多层嵌套格式
{
??2016-07-16:
?????{??
???????1:
??????????[
????????????nike:{
????????????sales_count:1000
????????????profit:200
????????????sales_value:10000
????????????
????????????
????????????}
???????????adidas:
???????????{
?????????????
????????????sales_count:1001
????????????profit:201
????????????sales_value:10001
???????????}
??????????
??????????]
?????????
???????????
2:
??????????[
????????????nike:{
????????????sales_count:1002
????????????profit:203
????????????sales_value:10004
????????????
????????????
????????????}
???????????adidas:
???????????{
?????????????
????????????sales_count:1005
????????????profit:206
????????????sales_value:10007
???????????}
??????????
??????????]
??????????......
??????????
??????????
?2016-07-17:
?????{??
???????1:
??????????[
????????????nike:{
????????????sales_count:1008
????????????profit:208
????????????sales_value:10008
????????????
????????????
????????????}
???????????adidas:
???????????{
?????????????
????????????sales_count:1009
????????????profit:209
????????????sales_value:10009
???????????}
??????????
??????????]
?????????
???????????
2:
??????????[
????????????nike:{
????????????sales_count:2002
????????????profit:204
????????????sales_value:20004
????????????
????????????
????????????}
???????????adidas:
???????????{
?????????????
????????????sales_count:1505
????????????profit:216
????????????sales_value:10077
???????????}
??????????
??????????]
......

}

图片

回复内容:

将数据库取出来的数据转化成对象,然后用gson将对象直接转化成json字符串!

你的SQL语句写好了,只要一个对记录集的大遍历,在里面加两个判断处理就可以了。你不是说写好了吗?贴出来让人修改。

另外,这个数量大是大到什么程度?你要是搞出来好几M甚至几十上百M的体积,光是传输也够慢了。

你这里有个问题,就是里面销售数据的key是店名,也就是不固定的,所以实现会非常复杂。
建议你稍微改造一下,复杂度会降低很多,里面的子数组格式改为:
[
{
store: nike
sales_count:2002
profit:204
sales_value:20004
},
{
sales_count:1505
profit:216
sales_value:10077
},
...
]

那么可以这么设计JavaBean接收数据,然后使用工具Object转jsonString

class Result {
List ts;
}

class T {
String day;
int hour;
List stores;
}

class Store {
String store;
int sales_count;
int profit;
int sales_value;
}

sql查询的话,建议不要用大sql,因为子查询太多,太多子查询会指数级减慢大sql效率,用java循环执行简单SQL。

1。 第一步,查询第一层的基本数据,得到List(T):
select distinct day, hour from Table;

  1. 第二步,循环List(T),根据day+hour,循环填充里面的store信息: select store, sales_count, profit, sales_value from T where day = ? and hour =?;

逻辑清晰,结构也不复杂,就两层。

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

mysql-数据库读取出来的数据如何组装多层嵌套的json

mysql-数据库读取出来的数据如何组装多层嵌套的json:mysqljson算法 数据结构 java 数据库字段如图三个主键day,hour,store,就是按要可以查出某天的某小时的某个店铺的具体销售情况,day,hour,store的数据可重复,但三个字段组成的数据是唯一的。要求用java。mysql。jdbc(其它数据库连
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top