J'ai une structure php simple avec 3 tableaux imbriqués.
Je n'utilise pas d'objets particuliers et je construis moi-même les tableaux avec 2 boucles imbriquées.
Voici un exemple du var_dump du tableau que je souhaite convertir en 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
Dans un autre script, j'ai une structure similaire et json_encodefonctionne très bien. Donc je ne comprends pas pourquoi json_encodene fonctionnera pas ici.
Edit: il semble y avoir un problème avec l'encodage. Quand mb_detect_encodingretourne ASCII, json_encodeça marche mais quand ça retourne UTF8, ça ne marche plus.
Edit2: json_last_error()renvoie JSON_ERROR_UTF8ce qui signifie: Caractères UTF-8 mal formés, éventuellement mal encodés .
utf8_encode()les namechamps de votre tableau avant de remettre la chaîne json_encode().
JSON_PARTIAL_OUTPUT_ON_ERRORoption pour voir le problème (par exemple, le champ avec UTF8 sera nul).
This function only works with UTF-8 encoded data.qu'il ne devrait y avoir aucun problème d'encodage.