需要在php中的单个文档中创建多个json对象[关闭]

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