(扩展)网站流量日志分析--数据可视化-- vue 版--复杂 json 具体实现 | 学习笔记

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 快速学习(扩展)网站流量日志分析--数据可视化-- vue 版--复杂 json 具体实现

开发者学堂课程【大数据分析之企业级网站流量运营分析系统开发实战(第五阶段):(扩展)网站流量日志分析--数据可视化-- vue 版--复杂 json 具体实现】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/697/detail/12263


(扩展)网站流量日志分析--数据可视化-- vue 版--复杂 json 具体实现

代码分析

image.png

通过画图分析和数据格式需要两个对象,分别分装数据到前台 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 可以通过各种工具帮你做辅助分析。

这就是数据报表的展示化,当然,你还可以购买一些收费的相关展示,无外乎就是柱状图,饼状图和折线图。

image.png

还有一个来源分类,叫做访客分析,其中有一个地域分布。地域分布中有一个地图的分布格式,点击访客分析,点击访客的来源合计(或者是指标图),可以看到数据接口还是每个城市或地区的格式。

打开 Mock 地址,可以看到里面是由 name,value 进行组合嵌套的格式。

我们可以将其理解为一个 map,也可以将其理解为一个对象,不论如何,把数据的格式化给它,它就可以帮你展示。所有的图形都是为了配合前端,将数据以更加友好的方式展示出来。

以上就是我们的数据可视化,或者称为数据报表。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
3月前
|
JavaScript 前端开发 IDE
Vue学习笔记5:用Vue的事件监听 实现数据更新的实时视图显示
Vue学习笔记5:用Vue的事件监听 实现数据更新的实时视图显示
|
3月前
|
JavaScript 前端开发 API
Vue学习笔记4:用reactive() 实现数据更新的实时视图显示
Vue学习笔记4:用reactive() 实现数据更新的实时视图显示
|
3月前
|
JavaScript 前端开发
Vue学习笔记8:解决Vue学习笔记7中用v-for指令渲染列表遇到两个问题
Vue学习笔记8:解决Vue学习笔记7中用v-for指令渲染列表遇到两个问题
|
3月前
|
JSON JavaScript 数据格式
vue写入json数据到文本中+vue引入cdn的用法
vue写入json数据到文本中+vue引入cdn的用法
59 10
|
3月前
|
JavaScript 前端开发 API
Vue学习笔记7:使用v-for指令渲染列表
Vue学习笔记7:使用v-for指令渲染列表
|
4月前
|
JSON JavaScript 前端开发
Vue项目使用Cookie,以Json格式存入与读取Cookie,设置过期时间以及删除操作
这篇文章介绍了在Vue项目中如何使用JavaScript操作Cookie,包括设置、读取、设置过期时间以及删除Cookie的方法。
302 0
|
4月前
|
存储 资源调度 JavaScript
package.json——从vue的package.json来详细说明package.json内容
package.json——从vue的package.json来详细说明package.json内容
184 0
|
5月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的云的学习笔记系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的云的学习笔记系统附带文章源码部署视频讲解等
42 0
|
5月前
|
JavaScript
Vue如何查看node版本---- package.json 文件中的 engines
Vue如何查看node版本---- package.json 文件中的 engines
|
5月前
|
JavaScript
vue项目中package.json的个人见解
总的来说,package.json文件是Vue项目的心脏,它记录了项目运行所需的所有信息,是项目能够顺利运行和维护的关键。
92 0
下一篇
DataWorks