循环遍历json数组jquery

dzm*_*dzm 44 jquery json loops

我正在尝试遍历这个来获取'name'值.这就是我现在所拥有的,但它似乎没有起作用,尝试了其他一些发布在这里的内容,但似乎没有任何效果.

    $.get("/get_names", {campaign_id: $('select[name="id"]').val()}, 
                function(data){
                    $.each(data, function(i, item) {
                        alert(item);
                    });
                }
   );
Run Code Online (Sandbox Code Playgroud)

Json被退回:

   [
           {
              "name":"age"
           },
           {
              "name":"asdf"
           },
           {
              "name":"drivername"
           },
           {
              "name":"drivers"
           },
           {
              "name":"firstname"
           },
           {
              "name":"gender"
           },
           {
              "name":"lastname"
           },
           {
              "name":"make"
           },
           {
              "name":"model"
           },
           {
              "name":"vehicles"
           },
           {
              "name":"year"
           }
        ]
Run Code Online (Sandbox Code Playgroud)

我尝试过使用:

item.name
item[i].name
Run Code Online (Sandbox Code Playgroud)

有什么建议?

谢谢!

Rob*_*b W 121

您必须将字符串解析为JSON(data[0] == "["指示data实际上是字符串,而不是对象):

data = $.parseJSON(data);
$.each(data, function(i, item) {
    alert(item);
});
Run Code Online (Sandbox Code Playgroud)

  • 那就是我在下面写的:) (2认同)

use*_*654 10

您也可以从.get()方法更改为.getJSON()方法,然后jQuery将解析返回的字符串作为datajavascript对象和/或数组,然后您可以像任何其他javascript对象/数组一样引用它.

使用上面的代码,如果你改变.get.getJSON,你应该得到的警报[object Object]的阵列中的每个元素.如果您将警报更改为alert(item.name)您将获得名称.