Saya memiliki struktur php sederhana dengan 3 array bersarang.
Saya tidak menggunakan objek tertentu dan saya membangun sendiri array dengan 2 loop bersarang.
Berikut adalah contoh var_dump dari array yang ingin saya ubah ke 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
Di skrip lain saya memiliki struktur yang mirip dan json_encode
berfungsi dengan baik. Jadi saya tidak mengerti mengapa json_encode
tidak bekerja di sini.
Edit: sepertinya ada masalah dengan encoding. Ketika mb_detect_encoding
mengembalikan ASCII, json_encode
berfungsi tetapi ketika mengembalikan UTF8, itu tidak berfungsi lagi.
Edit2: json_last_error()
mengembalikan JSON_ERROR_UTF8
yang berarti: Karakter UTF-8 cacat, mungkin salah dienkode .
utf8_encode()
pada name
bidang array Anda sebelum Anda menyerahkan string ke json_encode()
.
JSON_PARTIAL_OUTPUT_ON_ERROR
opsi untuk melihat masalah (mis. Bidang dengan UTF8 akan menjadi nol).
This function only works with UTF-8 encoded data.
jadi seharusnya tidak ada masalah dengan pengkodean.