【发布时间】:2018-08-05 21:18:27
【问题描述】:
我在 spring 控制器和 DAO 类中有一个从数据库中获取数据的代码 sn-p。最终结果是得到一个 json 输出。处理结果时,它只显示数组而不显示值对的名称。下面是一个sn-p
道类sn-p
@SuppressWarnings("unchecked")
public List <Object[]> getResult(String no) {
List <Object[]> dataList = new ArrayList<>();
List <Object[]> results = sessionFactory.getCurrentSession().createQuery("select i.F_NO, i.LAST_NAME, i.FIRST_NAME, i.HOME_PHONE, i.SEX_NO from Data i where f_no = :f_no")
.setParameter("_no", no).list();
if(!CollectionUtils.isEmpty(results)){
Object firstDataOccurence = results.get(0);
dataList.add((Object[]) firstDataOccurence);
return dataList;
}
else{
return dataList;
}
}
控制器sn-p
@RequestMapping(value = "/getData/{tin}", method = RequestMethod.GET, headers = "Accept=application/json")
@ResponseBody
public List<Object[]> getData(@PathVariable("no") String searchName) {
searchName = searchName.trim();
List <Object[]> dataList= myDao.getResult(searchName);
return dataList;
}
现在有了上面我的输出变成了
[["100123","demo12","demo7","demo9","demo19","demo28","demo27","demo4","demo5","demo24","demo20"]]
根据上面的结果,你发现键名不存在。请问如何在我的 json 响应中获取键:值对。
【问题讨论】:
-
抱歉,我对此投反对票的错误在哪里。这只是一次公平的尝试
标签: java json spring spring-mvc