3つのネストされた配列を持つ単純なphp構造があります。
私は特定のオブジェクトを使用せず、2つのループがネストされた配列を自分で構築しています。
これは、Jsonに変換する配列のvar_dumpのサンプルです。
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
別のスクリプトでは、私は同様の構造を持ち、json_encode
うまく機能します。なぜjson_encode
ここで動かないのか分かりません。
編集:エンコーディングに問題があるようです。ときにmb_detect_encoding
返すASCII、json_encode
動作しますが、それはUTF8を返すとき、それはもう動作しません。
Edit2:をjson_last_error()
返します。JSON_ERROR_UTF8
これは、不正なUTF-8文字がエンコードされている可能性があることを意味します。
utf8_encode()
に、name
配列フィールドで使用してみてくださいjson_encode()
。
JSON_PARTIAL_OUTPUT_ON_ERROR
オプションを使用して問題を確認します(たとえば、UTF8のフィールドはnullになります)。
This function only works with UTF-8 encoded data.
、エンコードに関する問題はないはずです。