使用JavaScript获取JSON数组内容

时间:2013-05-10 21:13:46

标签: php javascript json api

我被困了,(JavaScript新手)所以我不想使用Jquery。 但是,我确实需要在JavaScript中执行以下操作。这是一个简单的get / decode和loop数组。

<?php 
    $url = "http://data.police.uk/api/forces"; // Make the url
    $c = file_get_contents($url); // Get JSON
    $forces = json_decode($c,true);  // Decode JSON

    foreach( $forces as $obj ) { 
    echo $obj['id'];
                 } ?>  <!-- End Loop -->

感谢您的支持,你们很棒!

2 个答案:

答案 0 :(得分:1)

该API支持JSONP:

http://data.police.uk/api/forces?callback=your_callback

所以你可以创建一个<script>标签:

var script = document.createElement('script');
script.src = 'http://data.police.uk/api/forces?callback=your_callback';
script.type = 'text/javascript';

document.head.appendChild(script);

并注册一个全局回调函数,该函数将在该脚本加载时运行:

window.your_callback = function(data) {
    for (var i = 0; i < data.length; i++) {
        ...
    }
};

但jQuery更好:

$.getJSON('http://data.police.uk/api/forces?callback=?', function(data) {
    ...
});

答案 1 :(得分:0)

它本质上是在编写解析器 - 但您可能想要查看此博客:

http://www.bennadel.com/blog/1780-Using-Javascript-s-Function-Constructor-To-Deserialize-JSON-Data.htm