初学者的问题: 这是我的服务器端代码,非常简单:
@GET
@Path("/query")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public Map<Integer,String> getUsers(
@QueryParam("from") int from,
@QueryParam("to") int to) {
Map<Integer, String> orders = new HashMap<Integer,String>();
orders.put(1, "order1");
orders.put(2, "order2");
orders.put(3, "order3");
return orders;
}
这是我的JQuery代码:
$(document).ready(function() {
$('#id1').mouseover(function() {
alert("ok");
var formData = {from:3, to:2};
var result = $.ajax({
url: 'http://localhost:8080/MyJSON/resources/entities.customer/query',
type: "GET",
data: formData,
dataType: 'json',
success: function (data) {alert(data);}
});
});
}); // end ready
如何解析数据对象并获取json,即{"1":"order1","2":"order2","3":"order3"}
答案 0 :(得分:2)
success: function (data) {
alert(data['1']); // output: order1
alert(data['2']); // output: order2
}
<强> DEMO 强>
使用jQuery $.each()
循环:
success: function (data) {
$.each(data, function(key, val) { // here key = 1, 2, 3...
alert(val); // output: order1, order2...
});
}
<强> DEMO 强>
使用vanilla javascript循环
for(var key in data) {
// key = 1, 2, 3...
alert(data[key]); // output: order1, order2...
}
<强> DEMO 强>
当您设置dataType: 'json'
是ajax配置时,您不需要任何额外的解析工作,例如$.parseJSON()
或JSON.parse()
。