2
有人可以幫助我,怎麼我的HQL查詢結果轉換成JSON使用對象的列表,並與其他服務得到它。
這裏是返回qyery結果列表我的服務方法:
@Override
public List<Object[]> getAllDepartments() {
List<Object[]> list;
Query query = entityManager.createQuery("SELECT dp.name, avg (wr.salary) FROM Worker wr join wr.department dp GROUP BY dp.name");
list = query.getResultList();
return list;
}
我的春天的REST類型的控制器:
@RequestMapping(value = "/all", method = RequestMethod.GET)
@ResponseBody
public JsonNode getAllDeps() {
List<Object[]> list = departmentService.getAllDepartments();
ObjectMapper objectMapper = new ObjectMapper();
Map<String, Integer> resultMap = new HashMap<String, Integer>(list.size());
for (Object[] result : list)
resultMap.put((String)result[0], ((Double)result[1]).intValue());
final JsonNode json = objectMapper.valueToTree(resultMap);
return json;
}
現在,我的服務性反應的我JSON與多數民衆贊成數據看: { 「安全」:1500年, 「經濟」:1850年, 「IT」:2000}
但我需要(物品清單):
[{name:「Security」,salary:「1500」},{name:「Economical」,salary:1850},{name:「IT」,工資:2000}]
感謝您的幫助。
thx,我不能現在檢查它。 也許你也告訴我如何解析json到jQuery Ajax成功調用我的服務後的兩列(名稱,平均工資)的HTML表? – MeetJoeBlack
請爲此提出另一個問題。 –
是的,你正在使用休息...休息是不是一個MVC的概念...甚至沒有特別意味着你正在瀏覽器...只是一個HTTP客戶端。它是一種數據...或狀態轉移機制。您選擇的數據表示是JSON。 (這evgeni忘記把他的請求映射)......它是由你來做一些JavaScript的一面,以使您的表......或使用基於Java的mvc框架。 – AnthonyJClink