Доступ к многомерному массиву в кодировке JSON с помощью jQuery - PullRequest
0 голосов
/ 12 ноября 2010

У меня есть многомерный массив

$array = array(
    "Level1"=>array(
        "Level11"=>array(
            "level111"=>'value1',
            "level112"=>'value2',
            ),
        "Level12"=>array(
            "level121"=>'value1',
            "level122"=>'value2',
            ),
        ),
    "Level2"=>array(
        "Level21"=>array(
            "level211"=>'value1',
            "level212"=>'value2',
            ),
        "Level22"=>array(
            "level221"=>'value1',
            "level222"=>'value2',
            ),
        )
    );
echo json_encode($array);

Этот кодированный JSON отправляется после получения запроса AJAX POST с использованием jQuery.

$.post(
    'mypage.php',
    {
        param1: value1,
        param2: value2
    },
    function(data) {
        //Now I can access the 1st level JSON value easily like
        alert(data.Level1); 

        // But

        // I am trying to access the values like 

        alert(data.Level1.Level11.level112); //which is not possible
    },
    "json"
);

Если вы поняли мой вопрос, знаете ли вы, как я мог бы решить эту проблему.

1 Ответ

1 голос
/ 12 ноября 2010

Хорошо, я думаю: вы используете заглавные буквы в некоторых ваших ключах в PHP, но не в JS. Ваша строка должна быть:

data.Level1.Level11.level112

Обратите внимание, что это Level1 с капиталом L , а не level1 .

DEMO

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...