Currently I'm converting my collection data to json_encode like this:

$collections = $this->modelFactory->create()->getCollection()
$result = array();
foreach($collections as $collection){
  $result[] = $collection->getData();
return json_encode($result);

The problem is I need to loop for each collection to get the array data so that I can put it inside json_encode function, is there a way I can convert the collection result to json_encode without looping?

1 Answer 1


Try this:

$result = $collections->toArray();

return json_encode($result);


$result = $collections->getData();
return json_encode($result);

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.