2010-11-22 5 views
1

일부 JSON을 디코딩하고 MySQL에 값을 삽입하려고합니다.php json decode

$json = ' 
{"d":[{"Id":1059,"Name":"Alfa Romeo - 145"},{"Id":20020,"Name":"Alfa Romeo - 146"},{"Id":1060,"Name":"Alfa Romeo - 147"},{"Id":20021,"Name":"Alfa Romeo - 155"},{"Id":1061,"Name":"Alfa Romeo - 156"},{"Id":20022,"Name":"Alfa Romeo - 159"},{"Id":20023,"Name":"Alfa Romeo - 164"},{"Id":20024,"Name":"Alfa Romeo - 166"},{"Id":20025,"Name":"Alfa Romeo - 33"},{"Id":20026,"Name":"Alfa Romeo - Brera"},{"Id":20027,"Name":"Alfa Romeo - GT"},{"Id":20028,"Name":"Alfa Romeo - GTV"},{"Id":239,"Name":"Alfa Romeo - Misc"},{"Id":20029,"Name":"Alfa Romeo - Spider"},{"Id":20030,"Name":"Alfa Romeo - Sportwagon"}]} 
'; 

$json_dec = json_decode($json); 

$nr = 0; 
while($nr 14) { 
$id_nr = $json_dec['d']['$nr']['Id']; 
$make = $json_dec['d']['$nr']['Name']; 
} 

내가 오류가

Fatal error: Cannot use object of type stdClass as array in 
C:\wamp\www\get_cat.php on line 18 

답변

8

이 그렇지 않으면 배열 대신 객체를 반환합니다

$json_dec = json_decode($json,true); 

json_decode

에 대한 두 번째 인수로 true을 넣어 : 여기 내 코드입니다.

자세한 내용은 여기를 참조하십시오 : http://php.net/manual/en/function.json-decode.php

+2

이유를 설명하는 것이 좋을 것입니다. 이 옵션을 설정하면 객체가 연관 배열로 변환됩니다. http://php.net/manual/en/function.json-decode.php – Brad

+0

많은 것을 고맙습니다! ... 나는 이것을 알고있었습니다. 그러나 어떤 이유로 그것을 잊어 버렸습니다! – Michael