0

初心者の質問: これが私のサーバー側のコードで、非常に単純です:

    @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"}

4

1 に答える 1

2
success: function (data) {
 alert(data['1']);  // output: order1
 alert(data['2']);  // output: order2
}

デモ

jQuery$.each()ループの使用:

success: function (data) {
  $.each(data, function(key, val) { // here key = 1, 2, 3...
      alert(val); // output: order1, order2...
  });
}

デモ

バニラ JavaScript ループの使用

for(var key in data) {
    // key = 1, 2, 3...
    alert(data[key]); // output: order1, order2...
}

デモ

ノート

設定したのはajax構成であるため、やdataType: 'json'のような追加の解析作業は必要ありません。$.parseJSON()JSON.parse()

于 2012-06-07T15:10:45.380 に答える