Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: JSON кавычки, экранирование

 PHP.SU

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


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

> Без описания
ytrewq123
Отправлено: 27 Декабря, 2018 - 20:45:02
Post Id


Посетитель


Покинул форум
Сообщений всего: 352
Дата рег-ции: Окт. 2014  


Помог: 0 раз(а)




Здравствуйте!
Вот как получилось, игрался с JSON.
И вот нашёл строку JSON

{"type":"Feature","properties":{"mag":4.3,"place":"93km W of Nikol'skoye, Russia","time":1545877364960,"updated":1545878780040,"tz":660}

Но ничего не могу с ней сделать.
Ибо апостроф и всё. Любая функция пишет.
Parse error: syntax error, unexpected 'skoye'
Как то раньше я через addslashes() и всё нормально, а тут вдруг не.
Как быть?
П.С. Подумал и понял, что даже через регулярку это не исправить.
А там строка много тысяч символов…
 
 Top
Мелкий Супермодератор
Отправлено: 28 Декабря, 2018 - 09:23:35
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Поясните в чём вы видите проблему и что тут надо исправлять.
Если закрыть { добавив в конец }, то будет синтаксически корректный JSON, успешно разбирается в том числе PHP


-----
PostgreSQL DBA
 
 Top
ytrewq123
Отправлено: 28 Декабря, 2018 - 20:37:10
Post Id


Посетитель


Покинул форум
Сообщений всего: 352
Дата рег-ции: Окт. 2014  


Помог: 0 раз(а)




Я сам в, не понятках. НО!
Да фигурная скобка, не аккуратно отрезал.
Из за этого апострофа, не удаётся мне работать с этим JSON.
Nikol'skoye
Может я что то ни так пишу. Вот что я пишу.
$stroka = addslashes('{"type":"Feature","properties":{"mag":4.3,"place":"93km W of Nikol'skoye, Russia","time":1545877364960,"updated":1545878780040,"tz":660}}');
И вот что имею.
Parse error: syntax error, unexpected 'skoye' (T_STRING) in…
 
 Top
Мелкий Супермодератор
Отправлено: 29 Декабря, 2018 - 09:24:03
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Так и задавайте вопрос не про вообще не к месту упомянутый JSON, а про синтаксис строковых литералов PHP.
Синтаксис строк вполне описан в мануале: http://php.net/manual/en/languag...types.string.php
Запишите нужные для переменной данные синтаксически корректно. Ну или читайте из файла либо ещё откуда извне текста скрипта.


-----
PostgreSQL DBA
 
 Top
ytrewq123
Отправлено: 29 Декабря, 2018 - 10:26:18
Post Id


Посетитель


Покинул форум
Сообщений всего: 352
Дата рег-ции: Окт. 2014  


Помог: 0 раз(а)




Спасибо за ответ.
Почитаем. Разберёмся.
 
 Top
LIME
Отправлено: 29 Декабря, 2018 - 19:18:26
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Если коротко надо экранировать кавычки
Php считает что строка закрыта
\'
Я понимаю мелкого
Если уже с json работаешь и не знаешь азов...
Удачи)
(Добавление)
Хотя понял что именно пытаешься экранировать
Но неправильно
В addslashes надо передать переменную
И он обработает ее
Литерал(строку) нет смысла
Потому как ее цель именно сделать строку приемлимой для восприятия пыхом
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB