使用 javascript 和 CasperJS 从 JSON url 中提取特定的 key:value 对

Pulling specific key:value pairs from JSON url with javascript and CasperJS

假设 url 是:https://api.github.com/users/mralexgray/repos

我只想提取 "html_url" 键的所有 key:value 对。

我一直在尝试使用以下内容:

function extractJSON() {
  $.ajax({
    url: "https://api.github.com/users/mralexgray/repos",
    dataType: 'json',
    success: function(data) { 
        alert(data.html_url);
        return data.html_url;
    };

  });

 // casperjs begins below

casper.start(https://api.github.com/users/mralexgray/repos, function() {
});

casper.then(function() {
var output = this.evaluate(extractJSON());
this.echo(output);
});

casper.run();

感谢您抽出宝贵时间参与本次活动!

可能的解决方案是抓取该站点的整个文本并在 json 中解析它,然后您可以像这样轻松访问 json:

var casper = require('casper').create();
var url = 'https://api.github.com/users/mralexgray/repos';
var text;
var json;

casper.start(url);

casper.then(function() {
  text = casper.fetchText('body pre');
  json = JSON.parse(text);
});
casper.then(function() {
  for (var i=0; i < json.length; i++) {
    casper.echo("html_url: " + json[i].html_url);
    casper.echo("html_url owner: " + json[i].owner.html_url);
  }
});

casper.run();