execfile
nodeJSで起動されたプロセスからノードにデータを送信するにはどうすればよいですか? できれば JSON 形式で。
これは私のコードが今どのように見えるかです:
//index.js NodeJS
var execFile = require('child_process').execFile;
var express = require('express');
app.get('/', function(req, res) {
var lchecker = execFile('/usr/local/bin/casperjs', [myprogram, myargs]);
lchecker.stdout.on('data', function(data) {
var dataObject = JSON.parse(data); //This throws an error.
});
});
私が呼び出している casperjs スクリプトは、次のような JSON のような文字列を返します。
console.log("[{href: targetLink.href, anchor: targetLink.anchor, isLive: 0, isFollowed: null}]");
これは私が得るエラーです
JSON のような文字列を解析しようとすると、次のようなエラーが表示されます。
19 Jun 16:46:43 - [nodemon] starting node index.js
undefined:1
[{href: targetLink.href, anchor: targetLink.anchor, isLive: 1, isFollow: 1}]
^
Unexpected token h
したがって、私のJSONは無効です。心から、casperjsからノードにデータを送信するより良い方法があると確信していますが、その方法はわかりません.
Expressで新しいルートを作成し、casperjsにそのルートを訪問させてGET経由で情報を渡し、ノードでその情報を操作することを考えていました。これはこれを達成するための良い方法ですか?