0 / 0 / 0
Регистрация: 14.02.2015
Сообщений: 31

PHP и JSON

18.11.2019, 13:02. Показов 1708. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!

У меня есть json
JSON
1
[{"provider":"other","id":"AU","name":"Все авторизованные пользователи"},{"provider":"socnetgroup","id":"SG8_A","name":"Проект "Смена корпоративного стиля": Владелец группы"},{"provider":"socnetgroup","id":"SG8_E","name":"Проект "Смена корпоративного стиля": Модераторы группы"},{"provider":"socnetgroup","id":"SG8_K","name":"Проект "Смена корпоративного стиля": Все члены группы"},{"provider":"intranet","id":"DR1","name":"Моя компания: Все сотрудники отдела с подотделами"}]
Мне нужно из JSON собрать массив с ID. Но когда я применяю

PHP
1
2
3
$ar_result["DESCRIPTION"] = htmlspecialchars_decode($ar_result["DESCRIPTION"]);
 
           $ar_result["DESCRIPTION"] = json_decode($ar_result["DESCRIPTION"]);
 json_decode возвращает NULL из-за того, что в названиях "name" есть символы "

Есть способы очистить JSON от лишних кавычек?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.11.2019, 13:02
Ответы с готовыми решениями:

PHP json_decode (json или не json)
Третий день ломаю голову над вопросом: API вконтакте возвращает массив в json (как я полагаю) - вроде похоже на json Вот строка: ...

Php!? Передача json в php
почему такой код не срабатывает: <?php include("includer.php"); $razdel = json_decode($_POST); print_r($razdel); ...

PHP скрипт -> Json -> выбор пользователя -> AJAX -> первоначальный PHP скрипт
Доброго времени суток! Я новичек вэб программировании, так что прошу строго не судить(в гугле ответа не нашел). Есть задача: ...

2
 Аватар для esculap_ra
462 / 265 / 55
Регистрация: 22.08.2010
Сообщений: 1,204
Записей в блоге: 4
18.11.2019, 14:26
Цитата Сообщение от sun_skazka Посмотреть сообщение
json_decode возвращает NULL из-за того, что в названиях "name" есть символы "
Нет, а потому, что у тебя кирилические символы, а файл не UTF-8. Или кирилические символы должны быть в соответсвии с json-форматом.
PHP
1
2
    $example = array(1=>'Тут какой-то текст', 2=>'Its text of english');
    echo json_encode($example);
на выходе
JSON
1
{"1":"\u0422\u0443\u0442 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u0442\u0435\u043a\u0441\u0442","2":"Its text of english"}


Добавлено через 10 минут
PHP
1
2
3
4
5
6
7
8
    $json = '[{"provider":"other","id":"AU","name":"Все авторизованные пользователи"},{"provider":"socnetgroup","id":"SG8_A","name":"Проект "Смена корпоративного стиля": Владелец группы"},{"provider":"socnetgroup","id":"SG8_E","name":"Проект "Смена корпоративного стиля": Модераторы группы"},{"provider":"socnetgroup","id":"SG8_K","name":"Проект "Смена корпоративного стиля": Все члены группы"},{"provider":"intranet","id":"DR1","name":"Моя компания: Все сотрудники отдела с подотделами"}]';
 
    $ar = json_decode($json );
    foreach($ar  as $j){
        foreach($j as $key=>$val){
        echo $key.' **** '.$val.'<br/>';    
        }
    }
Файл должен быть UTF-8.
Вот на выходе

provider **** other
id **** AU
name **** Все авторизованные пользователи
provider **** socnetgroup
id **** SG8_A
name **** Проект "Смена корпоративного стиля": Владелец группы
provider **** socnetgroup
id **** SG8_E
name **** Проект "Смена корпоративного стиля": Модераторы группы
provider **** socnetgroup
id **** SG8_K
name **** Проект "Смена корпоративного стиля": Все члены группы
provider **** intranet
id **** DR1
name **** Моя компания: Все сотрудники отдела с подотделами
1
0 / 0 / 0
Регистрация: 14.02.2015
Сообщений: 31
19.11.2019, 10:25  [ТС]
PHP
1
2
3
4
5
6
7
8
    $json = '[{"provider":"other","id":"AU","name":"Все авторизованные пользователи"},{"provider":"socnetgroup","id":"SG8_A","name":"Проект &quot;Смена корпоративного стиля&quot;: Владелец группы"},{"provider":"socnetgroup","id":"SG8_E","name":"Проект &quot;Смена корпоративного стиля&quot;: Модераторы группы"},{"provider":"socnetgroup","id":"SG8_K","name":"Проект &quot;Смена корпоративного стиля&quot;: Все члены группы"},{"provider":"intranet","id":"DR1","name":"Моя компания: Все сотрудники отдела с подотделами"}]';
 
    $ar = json_decode($json );
    foreach($ar  as $j){
        foreach($j as $key=>$val){
        echo $key.' **** '.$val.'<br/>';    
        }
    }
К сожалению на этой строке
PHP
1
 $ar = json_decode($json );
уже возвращается NULL. Файл в кодировке UTF-8
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.11.2019, 10:25
Помогаю со студенческими работами здесь

Ошибка при обработке Json - Cannot deserialize the current JSON array because the type requires a JSON object
Дополнительные сведения: Cannot deserialize the current JSON object (e.g. {&quot;name&quot;:&quot;value&quot;}) into type 'System.Collections.Generic.List`1'...

Java, JSON и JSON Simple. Непонятка с созданием объекта JSON на сервере для отправки на фронт
Здравствуйте. Разрабатываю интернет-магазин на Java. Мне нужно на фронте получить список товаров из базы данных для отображения на...

Ошибка при обработке Json - Cannot deserialize the current JSON array because the type requires a JSON object
Всем привет! Помогите, плиз, разобраться с ошибкой: An unhandled exception of type 'Newtonsoft.Json.JsonSerializationException'...

PHP и JSON
Всем привет, получаю JSON ответ от сервера,обработав ответ в браузере выводится текст без переноса строки с тегами &lt;br/&gt; в виде...

Js - Php - Js (Json)
Доброго времени суток, подскажите пожалуйста, как реализуется: Допустим у меня есть переменная Var X=1 Как мне её с помощью Json...


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

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

Новые блоги и статьи
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru