PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 3
Nanto Отправлено: 26 Октября, 2015 - 14:45:11 • Тема: Вывести массив JSON • Форум: Вопросы новичков

Ответов: 8
Просмотров: 492
Viper пишет:
входящие данные какого вида?
Можно просто считывать до закрывающей ] и добавлять. Насколько много данных в одном файле может быть?

Собстно для вас тема и ответ http://stackoverflow.com/a/21725885/345874


Данные отправляю как plain text такого формата:
CODE (javascript):
скопировать код в буфер обмена
  1. data: ({id: id, str: str}),

В одном файле не думаю что больше 20 таких строк будет.

Спасибо. Сделал реализацию по ссылке - теперь на клиенте разбор корректно происходит. Тему можно закрывать, наверное.
Nanto Отправлено: 26 Октября, 2015 - 11:52:34 • Тема: Вывести массив JSON • Форум: Вопросы новичков

Ответов: 8
Просмотров: 492
SAD пишет:
За eval вешать нужно.

JSON.parse в помощь

JSON.parse не работает. Да я и так браузеру указываю что данные приходят в json. $.ajax в этом случае вроде сам парсить должен.
(Добавление)
Viper пишет:
У вас невалидный json
Сохраняйте так

CODE (htmlphp):
скопировать код в буфер обмена
  1. [
  2. {"id":"1","a":"1","b":"2","c":"3","d":"4"},
  3. {"id":"2","a":"1","b":"2","c":"3","d":"4"}
  4. ]

Ну и желательно отдавать заголовок header('Content-type: application/json');


Так в том-то и дело - каким образом так сохранить? Я в php, как свинья в апельсинах.
Данные серверу приходят по одной такой строке:

Одну записали. Пришла вторая - что с ней делать? Дёргать первую, конкатенировать, раставлять синтаксис и записывать? Или как?
Nanto Отправлено: 26 Октября, 2015 - 10:44:31 • Тема: Вывести массив JSON • Форум: Вопросы новичков

Ответов: 8
Просмотров: 492
Отдаю на сервер данные из клиента в json. Записываю их в файл в этом формате, получается что-то типа:
CODE (javascript):
скопировать код в буфер обмена
  1. {"id":"1","a":"1","b":"2","c":"3","d":"4"}
  2. {"id":"2","a":"1","b":"2","c":"3","d":"4"}
  3. ...

Запись идёт через:
PHP:
скопировать код в буфер обмена
  1. $current = json_encode($str["str"]);
  2. file_put_contents($file, $current, FILE_APPEND | LOCK_EX);

Потом по запросу отдаю их обратно клиенту. Проблема в том, что данные возвращаются не в формате json или даже массива, а просто как набор строк. Ну т.е. единичную строку браузер обрабатывает нормально, а вот на 2 и более уже спотыкается. В принципе понятно почему (хотя файербаг нормально разбирает json из нескольких строк, но вот сам JS отказывается).
Вопрос: самая простая конструкция чтобы корректно отдать клиенту массив json? Тут регулярку надо включчать или есть какие-то операторы для подобного обёртывания.
На выходе надо наверное что-то типа^
CODE (javascript):
скопировать код в буфер обмена
  1. [{..}, {..}, {..}]

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB