我正在使用一个巨大的40GB json文件,我正在使用JSON pull解析器为PHP 7从大文件中提取数据。这是my dummy json file。
我想从属性" entityStatusDescription"中提取数据。以表格的形式如此:
`ENTITYSTATUSDESCRIPTION`
`removed`
`registered`
`removed`
`removed`
`registered`
`removed`
我可以从其他属性中提取数据但是从属性entityStatusDescription
中提取数据时,只提取了几行,然后出现错误:
致命错误:未捕获错误:Class' IntlChar'找不到 E:\ xampp \ htdocs \ vendor \ pcrov \ jsonreader \ src \ Parser \ Lexer.php:285 Stack 追踪:#0 E:\ XAMPP \ htdocs中\厂商\ pcrov \ jsonreader \ SRC \分析器\ Lexer.php(161): pcrov \ JsonReader \ Parser \ Lexer-> evaluateEscapedUnicodeSequence()#1 E:\ XAMPP \ htdocs中\厂商\ pcrov \ jsonreader \ SRC \分析器\ Lexer.php(191): pcrov \ JsonReader \ Parser \ Lexer-> evaluateEscapeSequence()#2 E:\ XAMPP \ htdocs中\厂商\ pcrov \ jsonreader \ SRC \分析器\ Lexer.php(101): pcrov \ JsonReader \ Parser \ Lexer-> evaluateDoubleQuotedString()#3 [内部函数]:pcrov \ JsonReader \ Parser \ Lexer-> getIterator()#4 E:\ XAMPP \ htdocs中\厂商\ pcrov \ jsonreader \ SRC \分析器\ Parser.php(180): IteratorIterator-> next()#5 E:\ XAMPP \ htdocs中\厂商\ pcrov \ jsonreader \ SRC \分析器\ Parser.php(152): pcrov \ JsonReader \ Parser \ Parser-> parsePair()#6 E:\ XAMPP \ htdocs中\厂商\ pcrov \ jsonreader \ SRC \分析器\ Parser.php(205): pcrov \ JsonReader \ Parser \ Parser-> parseObject()#7 E:\ XAMPP \ htdocs中\厂商\ pcrov \ jsonreader \ SRC \分析器\ Parser.php(123): pcrov \ JsonReader \ Parser \ Parser-> parseValue in E:\ xampp \ htdocs \ vendor \ pcrov \ jsonreader \ src \ Parser \ Lexer.php在线 285
我很乐意帮忙。这是我的代码:
<?php
require_once "E:/xampp/htdocs/vendor/autoload.php";
use \pcrov\JsonReader\JsonReader;
ini_set("max_execution_time", 0);
$reader = new JsonReader();
$reader->open("jsonfile.json");
$fo = fopen("csvfile.csv", "w" );
fputs($fo, "companyStatus".PHP_EOL);
while($reader->read()) {
if ($reader->read("entityStatusDescription")){
$entityStatusDescription = $reader->value();
}
fputs($fo, $entityStatusDescription.PHP_EOL);
}
$reader->close();
答案 0 :(得分:2)