Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
105 / 57 / 22
Регистрация: 20.12.2009
Сообщений: 1,279
Записей в блоге: 2

Не получается сформировать json строку из вывода БД

23.02.2020, 16:51. Показов 634. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пытаюсь передать данные через джсон как показано на видео

PHP
1
2
3
4
5
6
7
$data = array();
 foreach($res as  $row){
     $data[]= $row;
 }
 $connect->close();  
 $WorkingArray = json_decode(json_encode($data),true);
 print implode(' ',$WorkingArray);
Все что пробовал выводит "\u3053\u3093\u306b\u3061\u306f" или "Array to string conversion"
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.02.2020, 16:51
Ответы с готовыми решениями:

Как правильно сформировать строку в JSON-формат, если имеется массив?
Привет. Мне нужно с помощью POST-метода передать в JSON-формате строку. Но проблема в том, что в этой строке должен быть еще и массив (Не...

Не получается сформировать строку для YML
Добрый день, создаю YML для яндекс маркета...мне нужно выводить строку с параметрами, вида: <param name="Тип...

Flask и SQLAlchemy и JSON. Не получается преобразовать результат запроса в json
У меня есть БД построенная из этих моделей с помощью миграций: # Class Class stores info about dish categories class...

9
 Аватар для vinikon
340 / 160 / 89
Регистрация: 16.01.2020
Сообщений: 771
24.02.2020, 21:33
видео смотреть не буду. приведите свой код подробнее. если надо передать данные в java script на этой странице, то можно так:
PHP
1
2
3
4
$WorkingArray = json_encode($data);
echo "<script>
var js = ". json_encode($WorkingArray) .";
</script>";
если же это php код обработчика ajax запроса, и данные надо передать на страницу сайта, то надо просто
PHP
1
echo json_encode($WorkingArray);
и уже на самой странице распарсивать их соответствующей функцией - обработчиком
0
105 / 57 / 22
Регистрация: 20.12.2009
Сообщений: 1,279
Записей в блоге: 2
24.02.2020, 22:52  [ТС]
Тут проблема что выводит вот такое: "\u3053\u3093\u306b\u3061\u306f"
0
 Аватар для vinikon
340 / 160 / 89
Регистрация: 16.01.2020
Сообщений: 771
24.02.2020, 23:07
что в $data загружается? похоже это список строк из какой-то базы
что выведет echo json_encode($data);?
и припишите такой код:
PHP
1
2
3
4
5
6
$jle = json_last_error();
if ($jle) {
   echo 'ошибка обработки json данных';
} else {
   echo 'json is valid';
}
что он выводит?
1
105 / 57 / 22
Регистрация: 20.12.2009
Сообщений: 1,279
Записей в блоге: 2
25.02.2020, 12:20  [ТС]
{"region":"\u0417\u0430\u043f\u043e\u044 0\u0456\u0436\u0436\u044f","regCount":"1 "},{"region":"\u0414\u043d\u0456\u043f\u 0440\u043e","regCount":"1"}]
json is valid
0
 Аватар для vinikon
340 / 160 / 89
Регистрация: 16.01.2020
Сообщений: 771
25.02.2020, 13:29
судя по формату вывода на выходе массив, элементами которого являются то же массивы в формате
PHP
1
['region' => 'название', 'regCount' => число]
попробуйте седьмую строчку убрать, и вместо нее такой код
PHP
1
2
3
4
5
6
7
8
foreach ($WorkingArray as $region) {
    echo unicodeDecode($region['region']). ' => '.$region['regCount'].'<br/>';
}
function unicodeDecode($string) {
    $chars = explode('\\u', $string);
    $return = implode('&#x', $chars);
    return html_entity_decode($return);
}
Добавлено через 13 минут
function unicodeDecode($string) можно упростить
PHP
1
2
3
function unicodeDecode($string) {
    return html_entity_decode(str_replace('\\u', '&#x', $string));
}
0
105 / 57 / 22
Регистрация: 20.12.2009
Сообщений: 1,279
Записей в блоге: 2
25.02.2020, 18:13  [ТС]
Посмотрел бэкап базы, тут есть небольшая путаница с кодировками:
/*!40101 SET NAMES utf8mb4 */;

--
-- База данных: `prime`
--

-- --------------------------------------------------------

--
-- Структура таблицы `en`
--

CREATE TABLE `en` (
`ID` int(11) NOT NULL,
`seriename` varchar(203) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`region` varchar(99) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`Town` varchar(99) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=koi8r;
Может из-за этого текст некорректно отображается?
0
 Аватар для vinikon
340 / 160 / 89
Регистрация: 16.01.2020
Сообщений: 771
25.02.2020, 18:47
скрипты обновили? что они выводят, какой текст сейчас выводится?
Цитата Сообщение от Supersumestria Посмотреть сообщение
небольшая путаница с кодировками:
расскажите подробнее, какие данные вы сохраняете в таблице, почему именно в такой кодировке - может из какого-то внешнего источника получаете информацию?
установлена ли кодировка в скриптах php
PHP
1
header('Content-Type: text/html; charset=utf-8');
установлена ли кодировка страницы html
HTML5
1
<meta charset="utf-8">
0
105 / 57 / 22
Регистрация: 20.12.2009
Сообщений: 1,279
Записей в блоге: 2
25.02.2020, 19:49  [ТС]
В таблице сохраняю строки кириллицей, уже имел опыт когда документ сохраненный в ansi не отображался корректно, хотел избежать этого поэтому выбрал юнкод-8. В скриптах нигде явно не указано, строки вносились в таблицу и отображались корректно, до того как это надо было передать в JS.
0
 Аватар для vinikon
340 / 160 / 89
Регистрация: 16.01.2020
Сообщений: 771
25.02.2020, 20:04
вы скрипты обновили - заменили строчку
Цитата Сообщение от Supersumestria Посмотреть сообщение
print implode(' ',$WorkingArray);
? какие сейчас дела?
по поводу таблицы - да она странная. не знаю какие данные туда заносятся (в каком виде), но обычно ее создаю в таком формате:
SQL
1
CREATE TABLE enutf8 (id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, seriename VARCHAR (255), region VARCHAR(255), Town VARCHAR(255)) engine=myisam CHARACTER SET=utf8;
кстати и кодировка базы данных тоже должна быть utf-8
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.02.2020, 20:04
Помогаю со студенческими работами здесь

Не получается получить json
Пытаюсь получить json строку с http://217.12.194.171:31/server/api/users/getusers Использую для примера...

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

Не получается освоить json
Добрый день, столкнулся с проблемой освоения Json. Допустим у каждого пользователя на сайте есть своя страница, на этой странице он может...

Не получается прочитать json
доброго времени суток. столкнулся с такой проблемой, не могу спарсить значения с json. как не пытался не получается.. success: True...

Не получается разобрать JSON
Помогите пожалуйста, не получается разобрать сообщения { &quot;response&quot;: {&quot;count&quot;:61,&quot;unread_dialogs&quot;:2, ...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значения справочника
Maks 21.03.2026
Процедура ВодителиНачалоВыбора(Элемент, ДанныеВыбора, ВыборДобавлением, СтандартнаяОбработка) / / Отключаем стандартную обработку (стандартное открытие формы выбора без фильтров) . . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru