我如何用jquery解析Json

Lam*_*amp 1 jquery json ruby-on-rails

我需要解析一个简单的json响应(来自我的rails应用程序):

[
    {
        "photo":
            {
                "updated_at":"2010-10-14T19:12:35Z",
                "photo_file_size":206422,
                "created_at":"2010-10-14T19:12:01Z"
            }
      },
      {
        "photo":
            {
                "updated_at":"2010-10-16T18:19:38Z",
                "photo_file_size":83593,
                "created_at":"2010-10-14T19:14:35Z"
            }
       }
]
Run Code Online (Sandbox Code Playgroud)

我在用:

$(document).ready(function()
{
    $.ajax({
     type: "GET",
     url: "http://myurl...",    
     dataType: "jsonp",
     success: function(data){
        console.log(data);          
        //...
          });

     }
    });
});
Run Code Online (Sandbox Code Playgroud)

firebug控制台输出表明响应没问题!

如何使用函数(数据)解析所有照片块中的每个photo_file_size?

任何帮助将受到高度赞赏:-)

Har*_*men 6

jQuery会自动将数据解析为JSON,因为您设置了数据类型.在成功方法中,您可以使用基本的Javascript来执行某些操作photo_file_size

$(document).ready(function(){
  $.ajax({
    type: "GET",
    url: "http://myurl...",    
    dataType: "json",
    success: function(data){
      for( var i=0; i<data.length; i++ ){
        alert( data[i].photo.photo_file_size );
      }
    }
  });
});
Run Code Online (Sandbox Code Playgroud)

但是,如果您使用的是JSONP,则需要完全不同.JSONP有一个回调函数,将在一个<script>标签中提供(为了避免相同的原始策略,请参阅Wiki)

<script>
    function callback( data ){
      for( var i=0; i<data.length; i++ ){
        alert( data[i].photo.photo_file_size );
      }
    }
</script>
<script src="yoururltojsonp.php?callback=callback"></script>
Run Code Online (Sandbox Code Playgroud)

另外,看看jQuery的解决方案