繁体   English   中英

如何获取json数组的值格式?

[英]How get json array value format?

我使用SQL查询检索表数据,并得到:

[["Abhijith","FAZT LORRY"]] 

但我想要作为JSONArray 请帮帮我。

我的服务类别是:

public List<Projectemployeeallocation> findAllAllocations() 
                                             throws JsonProcessingException {

    Session session = sessionFactory.openSession();

    String sql="SELECT emp.EFirstname,pro.ProjectName FROM 
                t_employeemaster emp JOIN t_projectemployeeallocation proall ON 
                emp.EmployeeAutoID=proall.EmployeeID JOIN t_projectmaster pro ON 
               proall.ProjectID=pro.ProjectID";

    Query query = session.createSQLQuery(sql);
    //query.setParameter("username", uname);
    List list = query.list();

    return list;
}

您可以使用jackson ,它是Java中强大的JSON库。

List<String> list = new ArrayList<>();
try {
    String result = new ObjectMapper().writerFor(new TypeReference<List<String>>(){}).writeValueAsString(list);
} catch (JsonProcessingException e) {
    e.printStackTrace();
}

当查询返回多列时, query.list()将返回List<Object[]>其中每个Object []包含DB返回的每一行的指定列数据。

由于查询似乎仅返回一个结果,因此您可以返回list.get(0),然后使用gson,jackson等任何json库将其转换为jsonArray。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM