用javaee绘制google图表
我想在google图表中画一个线图,数据以JavaEE获取并作为json发送。 谷歌期待这类数据用javaee绘制google图表,java,jakarta-ee,charts,google-visualization,Java,Jakarta Ee,Charts,Google Visualization,我想在google图表中画一个线图,数据以JavaEE获取并作为json发送。 谷歌期待这类数据 [ ['日期','总计'], ['2018-01-01',11], ['2018-01-02',2], ['2018-01-03',2], ['2018-01-04',2], ['2018-01-05',7] ]看起来您需要使用createArrayBuilder而不是createObjectBuilder 类似于 public static JsonObject weeksEventsGraph
[
['日期','总计'],
['2018-01-01',11],
['2018-01-02',2],
['2018-01-03',2],
['2018-01-04',2],
['2018-01-05',7]
]
看起来您需要使用createArrayBuilder
而不是createObjectBuilder
类似于
public static JsonObject weeksEventsGraph(){
ThisWeek week = GetTime.weekDates();
Calendar cal = Calendar.getInstance();
JsonArrayBuilder jsonArrayBuilder = Json.createArrayBuilder();
JsonObject data = null;
sql ="SELECT DATE(`eventApprovedOn`) AS eventDate, sum(`eventId`) as total FROM " +
"events WHERE DATE(eventApprovedOn) >= ? AND DATE(eventApprovedOn) <= ? " +
"AND `eventStatus` = 1 GROUP BY `eventApprovedOn`";
try {
preparedStatement = DatabaseUtilities.createConnection(sql);
preparedStatement.setString(1,week.getStart());
preparedStatement.setString(2,week.getEnd());
resultSet = preparedStatement.executeQuery();
for(int i = Calendar.SUNDAY; i <= Calendar.SATURDAY; i++) {
cal.set(Calendar.DAY_OF_WEEK, i);
String date = df.format(cal.getTime());//Returns Date
if(resultSet.isFirst()){
System.out.print(date +" "+ resultSet.getString("eventDate"));
while(resultSet.next()){
if(resultSet.getString("eventDate").equals(date)){
JsonObject dayObj = Json.createArrayBuilder();
dayObj.add(date);
dayObj.add(resultSet.getInt("total"));
jsonArrayBuilder.add(dayObj);
break;
}else{
//if the end of resultset is reached and the date has no value, set it to zero
if(resultSet.isLast()){
JsonObject dayObj = Json.createArrayBuilder();
dayObj.add(date);
dayObj.add(0);
jsonArrayBuilder.add(dayObj);
}
}
} //end of while loop
}else{
JsonObject dayObj = Json.createArrayBuilder();
dayObj.add(date);
dayObj.add(0);
jsonArrayBuilder.add(dayObj);
}
}//end of date loop
System.out.print(jsonArrayBuilder);
} catch (SQLException ex) {
Logger.getLogger(Events.class.getName()).log(Level.SEVERE, null, ex);
}finally{
DatabaseUtilities.closeConnection(resultSet, preparedStatement);
}
return data;
}
公共静态JsonObject weeksEventsGraph(){
ThisWeek=GetTime.weekDates();
Calendar cal=Calendar.getInstance();
JsonArrayBuilder JsonArrayBuilder=Json.createArrayBuilder();
JsonObject数据=null;
sql=“选择日期(`eventApprovedOn`)作为eventDate,选择总和(`eventId`)作为总计”+
“日期(eventApprovedOn)>=?和日期(eventApprovedOn)的事件看起来需要使用createArrayBuilder
而不是createObjectBuilder
类似于
public static JsonObject weeksEventsGraph(){
ThisWeek week = GetTime.weekDates();
Calendar cal = Calendar.getInstance();
JsonArrayBuilder jsonArrayBuilder = Json.createArrayBuilder();
JsonObject data = null;
sql ="SELECT DATE(`eventApprovedOn`) AS eventDate, sum(`eventId`) as total FROM " +
"events WHERE DATE(eventApprovedOn) >= ? AND DATE(eventApprovedOn) <= ? " +
"AND `eventStatus` = 1 GROUP BY `eventApprovedOn`";
try {
preparedStatement = DatabaseUtilities.createConnection(sql);
preparedStatement.setString(1,week.getStart());
preparedStatement.setString(2,week.getEnd());
resultSet = preparedStatement.executeQuery();
for(int i = Calendar.SUNDAY; i <= Calendar.SATURDAY; i++) {
cal.set(Calendar.DAY_OF_WEEK, i);
String date = df.format(cal.getTime());//Returns Date
if(resultSet.isFirst()){
System.out.print(date +" "+ resultSet.getString("eventDate"));
while(resultSet.next()){
if(resultSet.getString("eventDate").equals(date)){
JsonObject dayObj = Json.createArrayBuilder();
dayObj.add(date);
dayObj.add(resultSet.getInt("total"));
jsonArrayBuilder.add(dayObj);
break;
}else{
//if the end of resultset is reached and the date has no value, set it to zero
if(resultSet.isLast()){
JsonObject dayObj = Json.createArrayBuilder();
dayObj.add(date);
dayObj.add(0);
jsonArrayBuilder.add(dayObj);
}
}
} //end of while loop
}else{
JsonObject dayObj = Json.createArrayBuilder();
dayObj.add(date);
dayObj.add(0);
jsonArrayBuilder.add(dayObj);
}
}//end of date loop
System.out.print(jsonArrayBuilder);
} catch (SQLException ex) {
Logger.getLogger(Events.class.getName()).log(Level.SEVERE, null, ex);
}finally{
DatabaseUtilities.closeConnection(resultSet, preparedStatement);
}
return data;
}
公共静态JsonObject weeksEventsGraph(){
ThisWeek=GetTime.weekDates();
Calendar cal=Calendar.getInstance();
JsonArrayBuilder JsonArrayBuilder=Json.createArrayBuilder();
JsonObject数据=null;
sql=“选择日期(`eventApprovedOn`)作为eventDate,选择总和(`eventId`)作为总计”+
“事件,其中日期(eventApprovedOn)>=”和日期(eventApprovedOn)