Jump to content


Photo

Very simple JSONReader code not working

php json jsonreader

  • Please log in to reply
No replies to this topic

#1 DLO2418

DLO2418

    Newbie

  • New Members
  • Pip
  • 6 posts

Posted 13 May 2014 - 09:02 PM

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}
  
 
] }}





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Cheap Linux VPS from $5
SSD Storage, 30 day Guarantee
1 TB of BW, 100% Network Uptime

AlphaBit.com