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.
인코딩에 문제가 없어야 한다고 말합니다 .