2012-04-04 2 views
0

문제가 해결되지 않았지만 문제가 해결되지 않았지만 PHP에서 multidimenail 배열을 json_encode로 두 번 사용해야하는 이유를 알고 싶습니다. 예를 들어 아약스 호출에서 javascript로 반환 할 때.이중 인코딩 PHP 다차원 배열을

내 배열

$jsonData = array('foo', 'bar'); 
$jsonData['catOne'][] = array('foo two', 'bar two'); 

PHP

return json_encode(json_encode($jsonData)); 
+0

음 ... 필요하지 않습니다. – kirilloid

+0

단일 및 이중 인코딩 결과의 출력을 게시 할 수 있습니까? – jprofitt

+0

당신은 ... – knittl

답변

3

당신은 할 필요가 없습니다. json_encode는 깊은 요소를 통과하고, JSON은 완벽하게 인코딩됩니다

$arr = array(
    1 => array(5,6,7), 
    2 => array(4,3,2), 
); 

var_dump(json_encode($arr)); 

그의 출력은 다음과 같습니다

string(25) "{"1":[5,6,7],"2":[4,3,2]}" 

당신은 시도 할 경우 :

var_dump(json_encode(json_encode($arr))); 

하는 출력이됩니다 :

string(31) ""{\"1\":[5,6,7],\"2\":[4,3,2]}"" 

차이점을 확인 하시겠습니까?

+0

티타늄 모바일에서 http 요청을하고 단일 json_encode를 사용할 때 그것은 두 번 사용하면로드되지 않습니다하지만 그것은 –

관련 문제