有没有办法传递一个变量来评估或者从evaluate中加载一个json文件?

问题描述 投票:0回答:1

我正在尝试将位于本地JSON文件中的一些数据传递给casper.evaluate,但似乎无法从那里访问它。我已经尝试从外部评估加载它但我无法在评估中读取它。我也尝试从评估中加载它,如下所示:

var keyWords = casper.evaluate(function () {
  // load local JSON file
  var json = require('../keywords.json');
  return json;
});

console.log(JSON.stringify(keyWords));
javascript json casperjs
1个回答
0
投票

您可以使用以下方法将JSON作为参数传递给casper.evaluate()

var keyWords = casper.evaluate(function (json) {
  return json;
}, json);

完成此任务的完整程序将如下所示:

var casper = require('casper').create();

casper.start('https://example.com/');

casper.then(function () {
  var json = require('../keywords.json');

  var keyWords = this.evaluate(function (json) {
    return json;
  }, json);

  this.echo(JSON.stringify(keyWords));
});

casper.run();
© www.soinside.com 2019 - 2024. All rights reserved.