내가 PHP에서 JSON 객체를 만들고 메인 페이지로 다시 보내 :json 객체 안에있는 배열의 길이를 얻는 방법은 무엇입니까?
$invSlots = array();
$invSlots['slots'] = array();
for($i = 1; $i < $player_max_slots+1; $i++){ //player max slots comes from db
$invSlots['slots'][$i] = $inventory_info3[$i];
}
$json = $invSlots;
$encoded = json_encode($json);
die ($encoded);
그리고 포스트 응답은 이것이다 :
{"slots": {
"1": "1",
"2": "0",
"3": "0",
"4": "4",
"5": "0",
"6": "0",
"7": "3",
"8": "0",
"9": "0",
"10": "0",
"11": "2",
"12": "0"
}
}
임과 같이 슬롯의 양을 얻으려고 노력 :
var myResponse = JSON.decode('(' + responseText + ')'); //decode server json response
maxSlots = myResponse.slots.length; //set max slots
그러나 myResponse.slots.length는 단지 정의되지 않은 값을 반환합니다. 어떻게 수정합니까?
'slots'가 배열이 아닌, 또 다른 목적이다. –
내부적으로 배열은 0에서 시작하지만 1부터 시작하도록 강제하므로 객체로 변합니다. 배열에 대해 다시 0으로 재설정하거나 배열에 길이가 올바른 키를 수동으로 추가해야합니다. – Zimzat