Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Neo-X2006
0 / 0 / 0
Регистрация: 15.03.2016
Сообщений: 135
1

Json_decode ничего не возвращает

17.05.2016, 10:35. Просмотров 345. Ответов 7
Метки нет (Все метки)

Всем привет!

Есть json такого вида:
JSON
1
{"WORK_DAY":[["ПН","Понедельник"],["ВТ","Вторник"],["СР","Среда"],["ЧТ","Четверг"],["ПТ","Пятница"]],"WORK_TIME":{"START":"8:30","FINAL":"18:00"},"WORK_BREAK":{"START":"","FINAL":""},"ADDITIONAL":{"СБ":{"WORK_DAY":["СБ","Суббота"],"WORK_TIME":{"START":"8:00","FINAL":"15:00"},"WORK_BREEK":{"START":"","FINAL":""}}},"FREE_DAY":[["ВС","Воскресенье"]],"SERVICE":{}}
Он лежит в переменной:
PHP
1
$timeBank = $arProps["INFO"]["VALUE"][$indexBank];
Хочу использовать json_decode:
PHP
1
$json = json_decode($timeBank,true);
Но в ответ выводит пустоту. Что здесь не так?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.05.2016, 10:35
Ответы с готовыми решениями:

Json_decode возвращает пустоту вместо false
Добрый день. Подскажите, при преобразовании json_decode получаю вместо false пустоту. Как побороть ?

Почему функция ничего не возвращает?
В общем пишу временный кастыль, который поможет преобразовать название страницы в нужный мне вид...

Php json_decode() возвращает NULL
Начну с того, что у меня есть массив чисел (они каждый раз разные от 1 до 400) на php: $GLOBALS =...

json_decode()
Здравствуйте! Весь день пытаюсь декодировать эту строку так, чтобы получилось пять ассоциативных...

json_decode
Здравствуйте. Возникла проблема с ф-цией json_decode. В MySQL базе (utf-8) хранится строка в...

7
Jodah
Эксперт PHP
3126 / 2673 / 1127
Регистрация: 01.08.2012
Сообщений: 9,362
17.05.2016, 10:44 2
Цитата Сообщение от Neo-X2006 Посмотреть сообщение
Он лежит в переменной:
В виде строки? json_decode должна принимать строку.
0
Para bellum
Эксперт PHP
4187 / 3117 / 1010
Регистрация: 06.01.2011
Сообщений: 9,091
17.05.2016, 10:45 3
PHP
1
var_dump($json);
Что выводит?
0
Neo-X2006
0 / 0 / 0
Регистрация: 15.03.2016
Сообщений: 135
17.05.2016, 10:48  [ТС] 4
Цитата Сообщение от Para bellum Посмотреть сообщение
Что выводит?
Выводит NULL.
Цитата Сообщение от Jodah Посмотреть сообщение
В виде строки? json_decode должна принимать строку.
Да, в виде строки:
PHP
1
{"WORK_DAY":[["ПН","Понедельник"],["ВТ","Вторник"],["СР","Среда"],["ЧТ","Четверг"]],"WORK_TIME":{"START":"10:00","FINAL":"19:00"},"WORK_BREAK":{"START":"","FINAL":""},"ADDITIONAL":{"ПТ":{"WORK_DAY":["ПТ","Пятница"],"WORK_TIME":{"START":"10:00","FINAL":"18:00"},"WORK_BREEK":{"START":"","FINAL":""}}},"FREE_DAY":[["ПТ","Пятница"],["СБ","Суббота"],["ВС","Воскресенье"]],"SERVICE":{}}
0
17.05.2016, 10:48
Jodah
Эксперт PHP
3126 / 2673 / 1127
Регистрация: 01.08.2012
Сообщений: 9,362
17.05.2016, 10:58 5
Цитата Сообщение от Neo-X2006 Посмотреть сообщение
Выводит NULL.
А если var_dump($timeBank); ?
0
Neo-X2006
0 / 0 / 0
Регистрация: 15.03.2016
Сообщений: 135
17.05.2016, 11:18  [ТС] 6
Цитата Сообщение от Jodah Посмотреть сообщение
Имелось ввиду var_dump($timeBank);
Выводит вот это:
string(881) "{"WORK_DAY":[["ПН","Понедельник"],["ВТ","Вторник"],["СР","Среда"],["ЧТ","Четверг"]],"WORK_TIME":{"START":"10:00","FINAL":"19:00"},"WORK_BREAK":{"START":"","FINAL":""},"ADDITIONAL":{"ПТ":{"WORK_DAY":["ПТ","Пятница"],"WORK_TIME":{"START":"10:00","FINAL":"18:00"},"WORK_BREEK":{"START":"","FINAL":""}}},"FREE_DAY":[["ПТ","Пятница"],["СБ","Суббота"],["ВС","Воскресенье"]],"SERVICE":{}}"

Добавлено через 18 минут
json_last_error выдает: Syntax error, malformed JSON
0
Jodah
Эксперт PHP
3126 / 2673 / 1127
Регистрация: 01.08.2012
Сообщений: 9,362
17.05.2016, 11:29 7
Neo-X2006, весьма странно.

PHP
1
2
3
4
$var = '{"WORK_DAY":[["ПН","Понедельник"],["ВТ","Вторник"],["СР","Среда"],["ЧТ","Четверг"]],"WORK_TIME":{"START":"10:00","FINAL":"19:00"},"WORK_BREAK":{"START":"","FINAL":""},"ADDITIONAL":{"ПТ":{"WORK_DAY":["ПТ","Пятница"],"WORK_TIME":{"START":"10:00","FINAL":"18:00"},"WORK_BREEK":{"START":"","FINAL":""}}},"FREE_DAY":[["ПТ","Пятница"],["СБ","Суббота"],["ВС","Воскресенье"]],"SERVICE":{}}';
$var = json_decode($var);
 
var_dump($var);
У меня в результате в $var - объект.

Добавлено через 1 минуту
А если с true вторым параметром - получаю массив.
0
Neo-X2006
0 / 0 / 0
Регистрация: 15.03.2016
Сообщений: 135
17.05.2016, 11:43  [ТС] 8
Jodah, если прописать как переменную, то да, у меня работает, но этот json лежит в $arProps["INFO"]["VALUE"][$indexBank]. А из нее уже не достается. Может с кодировкой что-то не так или лишние символы в нем?

Добавлено через 7 минут
Решил таким образом:
PHP
1
$timeBank = str_replace('"', '"', $timeBank);
0
17.05.2016, 11:43
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.05.2016, 11:43

json_decode
Помогите с json_decode выдает информацию: "response: " Как вывести отсюда "303701"?

Json_decode
всем привет. понадобилось мне распарить простой джисон, но я не смог. <? $city = $_GET;...

json_decode
Помогите: как сделать так, чтобы выводило "steve dogs" от сюда "{"response":{"text":"steve...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru