câu trả lời khác làm việc, nhưng nó là tốt để biết rằng JSON được tạo ra sẽ có dạng như sau (trong ví dụ này tôi sử dụng một "tên" giả thuyết trường cho khách hàng của bạn):
{
"5587d2c3cd8348455b26feab": {
"_id": {
"$id": "5587d2c3cd8348455b26feab"
},
"name": "Robert"
},
"5587d2c3cd8348455b26feac": {
"_id": {
"$id": "5587d2c3cd8348455b26feac"
},
"name": "John"
}
}
Vì vậy, trong trường hợp bạn không muốn Object _id
là chìa khóa của từng đối tượng kết quả của mình, bạn có thể thêm tham số false
vào iterator_to_array
. Mã của bạn sẽ là:
echo json_encode(iterator_to_array($customers, false), true);
Điều này tạo ra kết quả tương tự như
$result = Array();
foreach ($customers as $entry) {
array_push($result, $entry);
}
echo json_encode($result, true);
đó là một loạt các đối tượng JSON
[
{
"_id": {
"$id": "5587d2c3cd8348455b26feab"
},
"name": "Robert"
},
{
"_id": {
"$id": "5587d2c3cd8348455b26feac"
},
"name": "John"
}
]
'foreach ($ khách hàng như $ k => $ hàng) {$ newa [] = json_encode ($ row); } 'bạn có thể cần phải chuyển đổi các kiểu đối tượng thành chuỗi thuần đầu tiên mặc dù giống như' MongoId' – Sammaye