我在解码从PHP传递的数组时遇到问题。我的PHP代码是
$checkedJson = json_encode($dynamic_species);
$tmp = exec("/Python33/arr_pass.py $pressure $temp $checkedJson");
return $tmp;
如果我打印$ checkedJson我得到
{“species1”:“CH4”,“species2”:“C2H6”}作为打印声明
我的python代码是
species_list = sys.argv[3]
species_list_data = json.loads(species_list)
print(species_list_data['species1'])
此python脚本返回空字符串作为输出到php
我第一次在JSON工作,任何人都可以帮助我。
提前致谢
答案 0 :(得分:0)
这既不是JSON也不是Python问题。你想要的是弄清楚当你的PHP程序通过exec()
运行时如何获得输出。基本上你没有输出参数; RTM在php.net。你应该试试:
exec("/Python33/arr_pass.py $pressure $temp $checkedJson", $output);
之后$output
将是您的exec脚本发送到其输出的行数组。在您的代码中,$tmp
被分配给exec&#d; d事件打印的最后一行,因此可能是一个空行。
另外,你还有一个挑战;将$checkdJson
传递给Python脚本的方式将失败。您必须引用它以使其成为一个命令行参数,因此您可能需要
exec("/Python33/arr_pass.py $pressure $temp '$checkedJson'", $output);
(注意额外的单引号)。