开发者学堂课程【大数据分析之企业级网站流量运营分析系统开发实战(第五阶段):(扩展)网站流量日志分析--数据可视化-- vue 版--复杂 json 具体实现】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/697/detail/12263
(扩展)网站流量日志分析--数据可视化-- vue 版--复杂 json 具体实现
代码分析
通过画图分析和数据格式需要两个对象,分别分装数据到前台 ToPageBean 有两个数组 xAxis 嵌套 object 和 series 嵌套 object
建立 Datapojo 属性为 data。
(1)在 test 中建立 New Class –DataPojo,用 long 类型表示
private long data;
建立标准 Pojo 需要有参构造和无参构造
Alt+Insert 选择 Constuctor 选择第一个属性创建有参构造
Alt+Insert 选择 Constuctor 选择 Select None 不选任何对象无参构造
Alt+Insert 选择 Getter and Setter
x 轴代码如下:
package cn.itcast.test;
/**
* Created by Allen woon
*/
public class DataPojo {
private Long data;
public DataPojo(Long data) {
this.data = data;
}
public DataPojo(){
public Long getData() {
return data;
}
public void setData(Long data)[
this.data = data;
}
}
(2)第二个对象 object 含有 id name total items
在 test 中建立 New Class –YseriesPojo
y 轴对象代码如下:
package cn.itcast.test;
/**
* Created by Allen woon
*/
public class YSeriesPojo {
}
private String id;
private String name;
private Long total;
private DataPojo[]items;
}
public void setId(String id){
this.id = id;
}
public string getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Long getTotal() {
return total;
}
public void setTotal(Long total) {
this.total = total;
}
public DataPojo[] getItems() {
return items;
}
public void setItems (DataPojo[] items){
this.items = items;
}
}
(3) 建立嵌套的对象:
新建并命名为 ToPageBean,
代码如下:
package cn.itcast.test;
/**
* Created by Allen woon
*/
public class ToPageBean {
private DataPojo[] xAxis;
private YseriesPojo[] series;
public ToPageBean( ){
}
public ToPageBean(DataPojo[]xAxis,YSeriesPojo[]series){
this.xAxis = xAxis;
this.series = series;
}
public void setSeries (YSeriesPojo[] series){
this.series = series;
}
}
做一个测试看能否满足前端需求,新建 TestJson,那之后我们首先来一个 main 方法 psvm,那么里面我们最终要做的就是把我们做的 ToPageBean,把它的数据转变接呈到前台。
相关代码如下:
package cn.itcast.test;
/**
*created by Atlen woon
*/
public class TestJson {
public static void main(string[]args) {
//准备拼接 xAxis 需要的数据
DataPojo[] x =new DataPojo[2];
DataPojo xd1=new DataPojo(); xd1.setData(Long.parseLong ( s:"1001"));
DataPojo xd2=new DataPojo(); xd2.setData(Long.parseLong ( s: "1002"));
DataPojo xd3=new DataPojo(); xd3.sctData(Long.parseLong ( s: "03:0P b));
×[0]= xd1; ×[1]=xd2;
//准备拼接 series 需要的数据
YSeriesPojo[]y =new YseriesPojo[2];
YSeriesPojo y1 = new YseriesPojo();
y1.setld ("620000201408199241");
Y1.setName("浏览次数");
Y1.setTotal (37082L);
y1.setItems(x);
YSeriesPojo y2 = new YseriesPojo();
y2.setld ("320000197106032921");
y2.setName("访客次数");
y2.setTotal (84007L);
y2.setItems(x);
y[0]=y1;y[1]=y2;
//构建返回携带数据到前端对象 ToPageBean
ToPageBean tb = new ToPageBean();
tb.setxAxis(x);
tb.setseries(y);
//把对象转换成 json 字符串 返回给前端
objectMapper om= new objectMapper();
String beanJson= null;
try {
beanJson=om.writeValueAsString(tb);
System.out.println(beanJson);
}catch (JsonProcessingException e){
e.printStackTrace();
}
}
}
因此不论哪一个版本,在实际当中从事数据可视化或数据报表的来说,它和大数据的关系不大,主要还是一个后台加载数据到前端页面展示的结果,而其中大部分是由前端开发的。
不管用 itcast 还是其他软件,我们要做的就是把数据按照格式要求展示出来。
但是 itcast 更加方便,可以清楚的表示我们需要的格式。不论是跟别人经过接口配合开发工作还是通过我们 itcast 前端自己去开发,要做的就是考虑如何把数据拼接成符合前端的格式。而 Json 可以通过各种工具帮你做辅助分析。
这就是数据报表的展示化,当然,你还可以购买一些收费的相关展示,无外乎就是柱状图,饼状图和折线图。
还有一个来源分类,叫做访客分析,其中有一个地域分布。地域分布中有一个地图的分布格式,点击访客分析,点击访客的来源合计(或者是指标图),可以看到数据接口还是每个城市或地区的格式。
打开 Mock 地址,可以看到里面是由 name,value 进行组合嵌套的格式。
我们可以将其理解为一个 map,也可以将其理解为一个对象,不论如何,把数据的格式化给它,它就可以帮你展示。所有的图形都是为了配合前端,将数据以更加友好的方式展示出来。
以上就是我们的数据可视化,或者称为数据报表。