DLO2418 Posted May 14, 2014 Share 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} ] }} Link to comment https://forums.phpfreaks.com/topic/288472-very-simple-jsonreader-code-not-working/ Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.