【问题标题】:Get JSON array contents with JavaScript [closed]使用 JavaScript 获取 JSON 数组内容 [关闭]
【发布时间】:2013-05-10 21:13:46
【问题描述】:

我被卡住了,(JavaScript 新手)所以我不想使用 Jquery。 但是我确实需要在 JavaScript 中执行以下操作。这是一个简单的获取/解码和循环数组。

<?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 -->

感谢你们的支持,你们太棒了!

【问题讨论】:

  • 好吧,除非您想使用原始 XMLHttpRequest() 对象(并处理旧浏览器的回退),否则您将需要使用 jQuery。如果你没有在其他地方使用 jQuery,你总是可以使用 this website 来构建一个版本,它只是他们的 $.ajax() 函数。
  • 如果您是 Javascript 新手,您应该使用 jQuery。我不使用 jQuery,因为我对 JS 并不陌生(我使用另一个我喜欢的框架)。

标签: php javascript json api


【解决方案1】:

该 API 支持 JSONP:

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

所以你可以创建一个&lt;script&gt; 标签:

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) {
    ...
});

【讨论】:

    【解决方案2】:

    它本质上是在编写一个解析器——但你可能想看看这个博客:

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

    【讨论】:

      猜你喜欢
      • 2019-08-15
      • 1970-01-01
      • 2021-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-05
      • 2012-12-04
      • 1970-01-01
      相关资源
      最近更新 更多