最近做一个项目的后端开发,由于项目涉及到经纬度的存储,所以前端会传给我各种一维数组和二维数组构成的数据。

存储的时候我是将他转换成字符串进行存储的。

接触到的第一个知识点:数组转换成字符串。

route.setStartPoint(Arrays.toString(startPoint)); //一维数组转字符串
route.setEndPoint(Arrays.toString(endPoint));
route.setPathway(Arrays.deepToString(pathway)); //二维数组转字符串

由于项目中用到了com.alibaba.fastjson,所以我第一次其实用的是JSON.toJSONString()这个方法转换的,结果到数据库一看,数据是这样的,每个元素都分别加了双引号。

 

 改成Arrays的转换方法后,得到了我想要的储存效果:

 

 

第二个知识点:数组格式的字符串取出来后如何以数组形式返回给前端

如果以默认的方式,直接返回给前端。它并不是数组的格式,如下图,是用Postman测试返回的数据:

 

 解决办法

我在相应的实体类中声明了一个JSONArray类型的数据

private String pathway;
private JSONArray pathwayArr;

在查询的时候,将pathway作了进一步数据处理,并赋值给pathwayArr。

 

 以这种格式返回给前端,成功解决了问题。

 

posted on 2021-03-04 21:51  FuYingju  阅读(1396)  评论(0编辑  收藏  举报