0
有沒有辦法在一個文件路徑傳遞到RecursiveArrayIterator像PHP傳文件到recursiveArrayIterator
//new RecursiveArrayIterator(json_decode("array from file ", TRUE)),
我知道我可以從文件中有閱讀:
$fileSPLObjects = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($path),
RecursiveIteratorIterator::CHILD_FIRST);
這將使我從文件中讀取JSON數組而不是在頁面上定義它。 所以基本上有一種方法來結合這兩個代碼片段?
$jsonIterator = new RecursiveIteratorIterator(
new RecursiveArrayIterator(json_decode($json, TRUE)),
RecursiveIteratorIterator::SELF_FIRST);
這就是我想的第一件事,但我得到了'未捕獲的異常「InvalidArgumentException」有消息「傳遞的變量不是數組或對象,而是使用空陣」 – Edward
@Edward你有有效的JSON?我已經更新了我的答案,實際顯示了一個更正確的方法來實現此目的(通過在嘗試操作陣列之前驗證解碼步驟)。 –
這很奇怪,因爲當我複製/粘貼到Json檢查器的文件內容我得到的JSON是有效的,但是當我print_r讀取文件併發布到檢查器中我得到JSON數據字段不包含JSON數據。不知道爲什麼會這樣。 – Edward