У меня была строка json, содержащая специальные символы, такие как +, -, ", '. Когда я пытаюсь использовать json_decode для строки, декодирование прерывается на символе +. Что бы ни было содержимое после символа +, не декодируется.
мой код следующим образом:
//Example string
$str = '{"image":"wo7898Ee/fp+18mtyeex//Z"}';
$res = json_decode($str, true);
Мой вывод печатается до / fp. Последние символы усекаются и показывают декодированный вывод как ...
Пожалуйста помоги
Ваша строка не отформатирована как объект JSON и поэтому не может быть декодирована с помощью json_decode() ...
Ваш код должен работать. Проверьте и мой ответ.
Возможный дубликат stackoverflow.com/q/12911536/3973463
@ pr1nc3, в моем случае это я очень длинная строка содержит более 1000 символов. Итак, он в конце концов обрезается. не отображается общий декодированный вывод.
Возможный дубликат Json_decode со специальными символами
@Alfredo A, пожалуйста, прочтите мой вопрос внимательно. Спасибо
@sree Люди внимательно прочитали ваш вопрос, но в нем нет кода, который вызывает проблему, которую вы описываете. Если вам нужна помощь, нам нужно воспроизвести проблему. Вы говорите, что ваш вывод усекается, но вы не показали нам, как вы его генерируете. Вы говорите, что ваша фактическая строка превышает 1000 символов, но та, что в вопросе, работает правильно.
@sree, вам нужно будет показать нам пример, который действительно воспроизводит вашу проблему. 1000 символов на самом деле не так уж и много, tbh. Трудно понять, как это влияет на это, но если вы можете продемонстрировать нам это, мы сможем отнестись к этому серьезно. Вы также можете попробовать запустить json_last_error_msg (), чтобы увидеть, сообщает ли кодировщик о каких-либо проблемах.






$str = '{
"image": "wo7898Ee/fp+18mtyeex//Z"
}';
$res = json_decode($str, true);
print_r($res['image']);
Допустим, это ваш json. Действительный. Затем вы можете использовать json_decode и ожидать вывода. Декодирование Json используется (как указано в имени функции) для декодирования действительного json.
Вывод: wo7898Ee/fp+18mtyeex//Z
В моем случае это очень длинная строка, содержащая более 1000 символов. Итак, он в конце концов обрезается. не отображается общий декодированный вывод.
Не могли бы вы предоставить образец? я почти уверен, что json_decode ничего не «обрезает». Также вы пытались print_r в своем новом массиве, чтобы узнать, так ли это на самом деле?
Вы пытаетесь json_decode строку?