2017-10-08 7 views
-1

25GB jsonファイルからデータを抽出するためにJSON pull parser for PHP 7を採用しています。ここにはmy dummy json fileがあります。
データ抽出は、JSONファイルのLine 153731まで正常に動作し、その後、私はこのエラー受信:私はGoogleで検索している致命的なエラーを解決しました。未知のpcrov JsonReader Parser ParseException(php json)

Fatal error: Uncaught pcrov\JsonReader\Parser\ParseException: Line 153731: Unexpected 'u'. in 
C:\xampp\htdocs\json\pcrov\vendor\pcrov\jsonreader\src\Parser\Lexer.php:134 
Stack trace: 
#0 C:\xampp\htdocs\json\pcrov\vendor\pcrov\jsonreader\src\Parser\Lexer.php(97): pcrov\JsonReader\Parser\Lexer->consumeLiteral('ull') 
#1 [internal function]: pcrov\JsonReader\Parser\Lexer->getIterator() 
#2 C:\xampp\htdocs\json\pcrov\vendor\pcrov\jsonreader\src\Parser\Parser.php(180): IteratorIterator->next() 
#3 C:\xampp\htdocs\json\pcrov\vendor\pcrov\jsonreader\src\Parser\Parser.php(152): pcrov\JsonReader\Parser\Parser->parsePair() 
#4 C:\xampp\htdocs\json\pcrov\vendor\pcrov\jsonreader\src\Parser\Parser.php(205): pcrov\JsonReader\Parser\Parser->parseObject() 
#5 C:\xampp\htdocs\json\pcrov\vendor\pcrov\jsonreader\src\Parser\Parser.php(123): pcrov\JsonReader\Parser\Parser->parseValue() 
#6 C:\xampp\htdocs\json\pcrov\vendor\pcrov\jsonreader\src\Parser\Parser.php(202): pcrov\JsonReader\Parser\Parser->parseArray() 
#7 C:\xampp\htdocs\json\pcrov\vendor\ in C:\xampp\htdocs\json\pcrov\vendor\pcrov\jsonreader\src\Parser\Lexer.php on line 134 

をし、問題を解決する方法を知っているのstackoverflowをとかしますが、成功していません。あなたの助けのための

<?php 
require_once 'C:/xampp/htdocs/json/pcrov/vendor/autoload.php'; 
use \pcrov\JsonReader\JsonReader; 
ini_set("max_execution_time", 0); 
$reader = new JsonReader(); 
$reader->open("myjsonfile.json"); 
$fo = fopen("mycsv.csv", "w"); 
fputs($fo, "name, ultimateHoldingCompany".PHP_EOL);              
while($reader->read()) { 
    $name = null; 
    $uhcName = null; 
    if ($reader->read("entityName")){ 
    $name = null; 
    $entityName = $reader->value(); 
    } 

    if ($reader->read("ultimateHoldingCompany")){  
    $uhcName = null; 
    $ultimateHoldingCompany = $reader->value(); 
    if (empty($ultimateHoldingCompany)){ 
     $uhcName = null; 
    } 
    else { 
     $uhcName = $ultimateHoldingCompany[0]['name']; 
    } 

    //print_r($uhcName); die; 

    } 

    fputs($fo, $entityName.",".$uhcName.PHP_EOL); 
    } 
$reader->close(); 
?> 

ありがとう:

は、ここに私のコードです。

+0

あなたのダミーファイルはJPG画像〜 'Capture.JPG'へのリンクのようです。 – Phil

+0

ああ、申し訳ありません。それは見落としだった。私はそれを修正しました。 – William

答えて

0

私はjsonファイルをより小さなチャンクに分割することで問題を解決しました。

関連する問題