【发布时间】:2014-07-17 21:10:41
【问题描述】:
大家好!也许你可以帮助我 现在我来自服务的 json 响应是:{"Security":450,"Economical":1850,"IT":1233} 我需要将其解析为 html 表。 我认为我以错误的方式从休息服务中响应我的 json。 至少我需要 json 对象列表。但我不知道该怎么做。 我的目标是返回部门名称(部门实体)和工人实体的平均工资。而且我不知道如何在我的 json 文件中创建对象列表,当我在我的服务上调用 get 方法时 以下是我的消息来源: 部门实体
@Entity
@Table(name ="departments")
public class Department implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(nullable = false)
private String name;
//getters setters....
工人实体
@Entity
@Table(name = "workers")
public class Worker {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(nullable = false)
private String fio;
@ManyToOne
private Department department;
@Column(nullable = false)
private Integer salary;
//getters setters....
我的服务(DepartmentService.class)方法从mysql返回我的数据
@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;
}
我的 Contollers 方法返回 json 对象(jackson 库)
@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 中获取对象列表,例如: [{name:"Security",salary:"1500"},{name:"Economical",salary:1850}..], 在 jquery ajax 调用成功后,将它们解析为具有两列的 html 表:
但现在我有了:
{"安全":1500,"经济":1850,"IT":2000} 我不知道如何解析它。
我有两个问题: 1)如何使我的java spring控制器返回json文件中的对象列表,例如:[{name:“Security”,salary:“1500”},{name:“Economical”,salary:1850}..] 2)如何在表中解析它,成功的jquery ajax调用
$.ajax({
type: "GET",
dataType: "json",
url: "http://localhost:8081/all",
success: function(data){
//code.....
}
});
【问题讨论】:
-
我不知道为什么这个问题被抹黑了。很明显你知道你在问什么,但不知道怎么问......我建议你看看我的回答,稍微调整你的问题,然后询问有关 javascript 的问题。
标签: java jquery json rest spring-mvc