簡體   English   中英

使用php從大型JSON文件中提取數據:如何在代碼中實現偵聽器接口

[英]Extracting data from large JSON file using php: How can I implement listener interface in my code

我正在使用大型的高度嵌套的JSON文件,並且想通過實現在jsonstreamingparser上找到的Listener接口來使用流解析器。 當我通過php代碼運行時,我收到了以下錯誤:致命錯誤:未捕獲的錯誤:在C:\\ xampp \\ htdocs中找不到類'InMemoryListener'。 我認為該錯誤包含“ $ listener = new InMemoryListener();”。 我是第一次在PHP中將流解析器用於JSON。 我知道偵聽器接口的作用類似於XMLPARSER的偵聽器,並且某些專家已經創建了某種PHP偵聽器接口,但是我不知道如何在我的代碼中實現它。 我將所謂的“ InMemoryListener”監聽器接口文件放在了與我的PHP代碼相同的文件夾中,但是仍然出現錯誤。 誰能解釋我如何在代碼中實現Listener接口? 下面是我的代碼:

 $stream = fopen('myJSONfile.json', 'r');
 $listener = new InMemoryListener();
 try {
   $parser = new \JsonStreamingParser\Parser($stream, $listener);
   $parser->parse();
   fclose($stream);
 } catch (Exception $e) {
   fclose($stream);
   throw $e;
 }
 ?>

謝謝。

使用composer安裝某些軟件時,需要確保腳本執行過程中包含了composer的自動加載器。 將此添加到文件頂部:

require_once 'vendor/autoload.php';

接下來,通過模塊的外觀,您還需要向InMemoryListener添加名稱空間:

$listener = new \JsonStreamingParser\Listener\InMemoryListener();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM