我必須使用依賴於Gem的Ruby腳本。當腳本執行時,返回一個JSON對象。PHP執行Ruby腳本並捕獲JSON結果
我正在使用以下代碼成功執行腳本。
<?php
$ruby = 'ruby ruby/teams.rb';
$res = system($ruby);
var_dump(json_decode($res, true));
以下是從ruby/teams.rb
{"status"=>"active", "teamId"=>"XPLFKS59PK" }
實例響應我的問題是,這種直接打印在屏幕上,並在可變$res
不捕獲。當使用var_dump(json_decode($res, true))
時,我得到null
。
我希望能夠做到的是在$res
變量中捕獲JSON響應,以便我可以轉換爲數組並且值得使用這些數據。
任何想法,如果這是可能的?
你應該使用'exec'而不是'system'。 'system'只返回執行命令的最後一行,你的情況可能是空的。使用'exec'並獲取數組中的所有輸出。 – Panther
也意識到我沒有被返回一個JSON數組,而是一個Ruby哈希!在Ruby端快速'.to_json'對它進行排序。 –