PHP から Java コードを実行し、JSON 文字列を引数として渡す必要があります。
PHP 部分:
$json_arr["regrType"] = 3;
$json_arr["fund_id"] = 25106478;
$json_arr["factors"] = array(2,7,18,19);
$input = json_encode($json_arr);
exec("java StepRegTest.Main " . $input . " 2>&1", $output);
Java エントリ:
public class Main {
public static void main(String[] args) throws Exception {
問題は次のとおりです。「メイン」コンストラクターは単純な文字列ではなく String[] 配列のみを受け取ることができるため、Java スクリプトは JSON 文字列を次のように配列に分割します。
args[0] = "regrType:3"
args[1] = "fund_id:25106478"
args[2] = "factors:[2"
JSON入力文字列全体を強制的に取得するにはどうすればよいですか? Java でそのままの JSON 文字列を取得する方法が見つからない場合、配列を JSON 要素として使用するにはどうすればよいですか? args[2] を参照してください。
配列の部分を分割して別の区切り記号を使用することもできますが、もっと洗練された方法があるかもしれません。
ありがとう