Как вывести JSON сниппетом
Почему при выводе JSON из сниппета на страницу
возвращают контент ленгхт 0
ОТВЕТ
нужно
Спасибо but1head дал ссылку JSON_ENCODE of multidimensional array giving different results
возвращают контент ленгхт 0
$array = array(
array(
array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5),
array('a' => '', 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5),
array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5),
array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5),
array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5)
),
array(
array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5),
array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5),
array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5),
array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5),
array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5)
)
);
echo json_encode($array);
ОТВЕТ
нужно
echo json_encode($array, JSON_FORCE_OBJECT);
Почему не понял. Но запахалоСпасибо but1head дал ссылку JSON_ENCODE of multidimensional array giving different results
Комментарии: 11
Accept-Ranges bytes
Cache-Control no-store, no-cache, must-revalidate
Connection close
Content-Length 0
Content-Type application/json; charset=UTF-8
Date Wed, 15 Jun 2016 13:55:59 GMT
Expires Thu, 19 Nov 1981 08:52:00 GMT
Pragma no-cache
Server LiteSpeed
Set-Cookie browser=standard; expires=Wed, 22-Jun-2016 13:55:59 GMT; Max-Age=604800; path=/; HttpOnly
X-Powered-By PHP/7.0.7
$new_array = array(
array(
array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5),
array('a' => '', 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5),
array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5),
array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5),
array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5)
),
array(
array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5),
array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5),
array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5),
array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5),
array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5)
)
);
Так что вам надо то?
Вывести [{'a':1, 'b':2................]?
echo $new_array; при условии что строка не была декодирована до этого.
если была echo $modx->toJson($new_array);
Если код должен прилетать в js, то вконце надо echo $json а не return $json (хз почему, но ретурн у меня не работал ниразу еще).
Вывести [{'a':1, 'b':2................]?
echo $new_array; при условии что строка не была декодирована до этого.
если была echo $modx->toJson($new_array);
Если код должен прилетать в js, то вконце надо echo $json а не return $json (хз почему, но ретурн у меня не работал ниразу еще).
Выше я массив дал
Вот так его принтит print_r()
Этот же массив при выводе так
echo json_encode($new_array);
Ничего не выводит
Пустая страница
Вот так его принтит print_r()
Array
(
[0] => Array
(
[0] => Array
(
[a] => 1
[b] => 2
[c] => 3
[d] => 4
[e] => 5
)
[1] => Array
(
[a] =>
[b] => 2
[c] => 3
[d] => 4
[e] => 5
)
[2] => Array
(
[a] => 1
[b] => 2
[c] => 3
[d] => 4
[e] => 5
)
[3] => Array
(
[a] => 1
[b] => 2
[c] => 3
[d] => 4
[e] => 5
)
[4] => Array
(
[a] => 1
[b] => 2
[c] => 3
[d] => 4
[e] => 5
)
)
[1] => Array
(
[0] => Array
(
[a] => 1
[b] => 2
[c] => 3
[d] => 4
[e] => 5
)
[1] => Array
(
[a] => 1
[b] => 2
[c] => 3
[d] => 4
[e] => 5
)
[2] => Array
(
[a] => 1
[b] => 2
[c] => 3
[d] => 4
[e] => 5
)
[3] => Array
(
[a] => 1
[b] => 2
[c] => 3
[d] => 4
[e] => 5
)
[4] => Array
(
[a] => 1
[b] => 2
[c] => 3
[d] => 4
[e] => 5
)
)
)
Ноооооо!Этот же массив при выводе так
echo $modx->toJSON($new_array);
или такecho json_encode($new_array);
Ничего не выводит
Пустая страница
<?php
$test = array();
$test[0][] = array('a' => 1, 'b' => 2);
$test[0][] = array('a' => 1, 'b' => 2);
$test[0][] = array('a' => 1, 'b' => 2);
$test[1][] = array('a' => 1, 'b' => 2);
$test[1][] = array('a' => 1, 'b' => 2);
$test[1][] = array('a' => 1, 'b' => 2);
echo json_encode($test);
[[{"a":1,"b":2},{"a":1,"b":2},{"a":1,"b":2}],[{"a":1,"b":2},{"a":1,"b":2},{"a":1,"b":2}]]
мб это поможет
да, растолкуйте причину сего поведения пожалуйста?
Я напишу ответ под вопросом и закрою это! блиннн я столько времени убил (
Я напишу ответ под вопросом и закрою это! блиннн я столько времени убил (
С таким не сталкивался, код чуть выше валидный на 100%. Почему у Вас не работает даже представить не могу, ждем «старлеев» )
Ладно, не будем ждать их ) и так времени много потрачено
Спасибо!!!
Спасибо!!!
[2016-06-15 18:52:18] (ERROR @ /home/p/public_html/***/core/model/modx/modcachemanager.class.php: 350) Error caching lexicon topic lexicon/ru/core/resource
эта ошибка вроде как не имеет отношения
die($modx->toJson($new_array));
Нужно прерывать выполнение скрипта.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.