I have use this code to make json
object
if(mysql_num_rows($result)) {
while($document = mysql_fetch_assoc($result)) {
$documents[] = $document;
}
}
header('Content-type: application/json');
echo json_encode(array('documents'=>$documents));
It gives me single json in document like this
{"document":[{"document":{"id":"2","name":"test","pages":"name","img":"path","lines":"data"}]}
But i need
{"document":[{"document":{"id":"2","name":"test",pages":[{"img":"first img","lines":" <p>first line"}],pages":[{"img":"second img","lines":" <p>second line"}]}]}
Means in existing json need another json name pages which contain further img and lines. How it can do?
If you do something like this:
if(mysql_num_rows($result)) {
while($document = mysql_fetch_assoc($result)) {
$document["pages"] = array();
$document["pages"][] = array("img" => "first img", "lines" => "first line");
$document["pages"][] = array("img" => "second img", "lines" => "second line");
$documents[] = $document;
}
}
json_encode(array('documents'=>$documents));
will return JSON object where each document will contain an array of pages with fields img
and lines
. Basically, you just need to create required structure in PHP, to get the same structure in JSON.
Above code should return something like this:
{"document": [{"document" : {"id":"2",
"name":"test",
"pages":[{"img":"first img","lines":" <p>first line"},
{"img":"second img","lines":" <p>second line"}]
}}
]}