Tôi có một cấu trúc php đơn giản với 3 mảng lồng nhau.
Tôi không sử dụng các đối tượng cụ thể và tôi tự xây dựng các mảng với 2 vòng lặp lồng nhau.
Đây là một ví dụ về var_dump của mảng mà tôi muốn chuyển đổi thành Json.
array (size=2)
'tram B' =>
array (size=2)
0 =>
array (size=3)
'name' => string 'Ile Verte' (length=9)
'distance' => int 298
'stationID' => int 762
1 =>
array (size=3)
'name' => string 'La Tronche Hôpital' (length=18)
'distance' => int 425
'stationID' => int 771
16 =>
array (size=4)
0 =>
array (size=3)
'name' => string 'Bastille' (length=8)
'distance' => int 531
'stationID' => int 397
1 =>
array (size=3)
'name' => string 'Xavier Jouvin' (length=13)
'distance' => int 589
'stationID' => int 438
Trong một kịch bản khác, tôi có cấu trúc tương tự và json_encode
hoạt động tốt. Vì vậy, tôi không hiểu tại sao json_encode
sẽ không hoạt động ở đây.
Chỉnh sửa: có vẻ như có vấn đề với mã hóa. Khi mb_detect_encoding
trả về ASCII, nó json_encode
hoạt động nhưng khi trả về UTF8, nó không hoạt động nữa.
Edit2: json_last_error()
trả về JSON_ERROR_UTF8
có nghĩa là: Các ký tự UTF-8 không đúng định dạng, có thể được mã hóa không chính xác .
utf8_encode()
trên name
các trường mảng của bạn trước khi bạn chuyển chuỗi cho json_encode()
.
JSON_PARTIAL_OUTPUT_ON_ERROR
tùy chọn để xem vấn đề (ví dụ: trường có UTF8 sẽ là trống).
This function only works with UTF-8 encoded data.
vì vậy sẽ không có bất kỳ vấn đề gì với việc mã hóa.