DLO Posted May 14, 2014 Report Posted May 14, 2014 I am trying to use JSONReader (along with PHP & XPATH) to parse a very large JSON file, then display search results. A stream parser (such as JSONREader) is recommended over JSON_decode when parsing large files. This simple code below is not displaying any results (in the echo statements). Any advice is greatly appreciated. $reader = new JSONReader(); $reader->open('products.json'); $dom = new DOMDocument; $xpath = new DOMXpath($dom); while ($reader->read() && $reader->name !== 'product') { continue; } while ($reader->name === 'product') { $node = $dom->importNode($reader->expand(), TRUE); $name = $xpath->evaluate('string(name)', $node); $price = $xpath->evaluate('string(price)', $node); echo "Name: " . $name . ". "; echo "Price: " . $price . ". "; $reader->next('product'); } Here is a snippet of the JSON file: { "products": { "product" : [ { "name" : "Dell 409", "price" : 499.99}, { "name" : "HP Lap top", "price" : 599.99}, { "name" : "Compaq 11", "price" : 299.99} ] }} Quote
administrator Posted May 15, 2014 Report Posted May 15, 2014 Hmmm ... according the php.net, there is no such things as 'JSONReader()'in PHP. Check it out: http://ca1.php.net/manual-lookup.php?pattern=JSONReader%28%29+&scope=quickref I've never heard of JSONReader() ... is it a JavaScript object? Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.