JSON передает строку вместо массива или объекта из PHP в Javascript

1

У меня возникла проблема с передачей многомерного и ассоциативного массива от php до Javascript. Я конвертирую его с JSON, используя:

_SESSION =  '<?php print json_encode($_SESSION) ?>';

Я также пробовал

_SESSION =  '<?php print json_encode($_SESSION, JSON_PRETTY_PRINT) ?>';
_SESSION =  $.parseJSON('<?php print json_encode($_SESSION) ?>');

оба из них дают мне такие ошибки, как: Uncaught SyntaxError: Неожиданный токен ILLEGAL.

Однако первый из них не дает мне никаких ошибок, и я могу получить к нему доступ в Javascript. Затем он выводит:

{"items":{"221163":{"CodeComplete":null,"Project":"Coding","Team":"Mail","TimeSpent":25","Children":[]}}, {"221165":{CodeComplete":null,"Project":"Coding","Team":"Batman","TimeSpent":"40","Children":[]}}

Я верю, что это как строка, так как _SESSION [0] выводит "{". Однако я хочу, чтобы это был массив или объект. Массив выглядит так в php:

_SESSION( "items" => array(
                        221163 =>
                                 array( CodeComplete => null
                                        Project => "Coding"
                                        Team => "Mail"
                                        Timespent => "25"
                                        Children => array(
                                                           )
                                      )
                        221165 =>
                                 array( CodeComplete => null
                                        Project => "Coding"
                                        Team => "Stones"
                                        Timespent => "40"
                                        Children => array(
                                                           )
                                       )

                           )             
        )

Я хочу иметь доступ к этому массиву так же, как я могу, в php (не litterary ofcorse), но _SESSION["items"] или _SESSION.items не определено как _SESSION - это строка...

Любые идеи о том, что я делаю неправильно?

  • 3
    _SESSION = '<?php print json_encode($_SESSION) ?>'; ... удалить апострофы так _SESSION = <?php print json_encode($_SESSION) ?>;
Теги:
arrays

1 ответ

0
Лучший ответ

Так же, как @CD001 предложил в своем комментарии, я удалил '' из передачи так, чтобы это стало

_SESSION = <?php print json_encode($_SESSION) ?>; 

вместо этого, и теперь все работает отлично, спасибо!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню