我需要从 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 {
这就是问题所在:因为“main”构造函数只能采用 String[] 数组而不是简单的字符串,Java 脚本将 JSON 字符串分解为数组 - 例如:
args[0] = "regrType:3"
args[1] = "fund_id:25106478"
args[2] = "factors:[2"
如何强制它获取整个 JSON 输入字符串?如果我找不到在 Java 中获取完整 JSON 字符串的方法,我可以将数组作为 JSON 元素做什么 - 请参阅 args[2]?
我可以拆分数组部分并使用不同的分隔符,但也许有一种更优雅的方式来做到这一点。
谢谢