繁体   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