简体   繁体   English

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

[英]How get json array value format?

I retrieve table data using SQL Query and I got: 我使用SQL查询检索表数据,并得到:

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

But I want as a JSONArray . 但我想要作为JSONArray help me please. 请帮帮我。

My service class is: 我的服务类别是:

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;
}

You could use jackson which is powerful library for JSON in java. 您可以使用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();
}

As your query is returning Multiple columns, query.list() would return a List<Object[]> with each Object[] containing specified columns data for every row returned by DB. 当查询返回多列时, query.list()将返回List<Object[]>其中每个Object []包含DB返回的每一行的指定列数据。

As your query seems to return only one result you could return list.get(0) and then convert it into jsonArray using any json library such as gson,jackson etc. 由于查询似乎仅返回一个结果,因此您可以返回list.get(0),然后使用gson,jackson等任何json库将其转换为jsonArray。

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

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