Декодировать строку json с длинной строкой (более 1000 символов), содержащей символ + в php

У меня была строка json, содержащая специальные символы, такие как +, -, ", '. Когда я пытаюсь использовать json_decode для строки, декодирование прерывается на символе +. Что бы ни было содержимое после символа +, не декодируется.

мой код следующим образом:

//Example string
$str = '{"image":"wo7898Ee/fp+18mtyeex//Z"}';
$res = json_decode($str, true);

Мой вывод печатается до / fp. Последние символы усекаются и показывают декодированный вывод как ...

Пожалуйста помоги

Вы пытаетесь json_decode строку?

pr1nc3 31.10.2018 14:01

Ваша строка не отформатирована как объект JSON и поэтому не может быть декодирована с помощью json_decode() ...

Justin T. 31.10.2018 14:04
Мой вывод печатается до / fp. - опубликованный вами код не генерирует никакого вывода, поэтому я не знаю, как вы вообще что-то видите
iainn 31.10.2018 14:04

Ваш код должен работать. Проверьте и мой ответ.

pr1nc3 31.10.2018 14:08

Возможный дубликат stackoverflow.com/q/12911536/3973463

Alfredo A. 31.10.2018 14:10

@ pr1nc3, в моем случае это я очень длинная строка содержит более 1000 символов. Итак, он в конце концов обрезается. не отображается общий декодированный вывод.

sree 31.10.2018 14:10

Возможный дубликат Json_decode со специальными символами

Alfredo A. 31.10.2018 14:10

@Alfredo A, пожалуйста, прочтите мой вопрос внимательно. Спасибо

sree 31.10.2018 14:13

@sree Люди внимательно прочитали ваш вопрос, но в нем нет кода, который вызывает проблему, которую вы описываете. Если вам нужна помощь, нам нужно воспроизвести проблему. Вы говорите, что ваш вывод усекается, но вы не показали нам, как вы его генерируете. Вы говорите, что ваша фактическая строка превышает 1000 символов, но та, что в вопросе, работает правильно.

iainn 31.10.2018 14:20

@sree, вам нужно будет показать нам пример, который действительно воспроизводит вашу проблему. 1000 символов на самом деле не так уж и много, tbh. Трудно понять, как это влияет на это, но если вы можете продемонстрировать нам это, мы сможем отнестись к этому серьезно. Вы также можете попробовать запустить json_last_error_msg (), чтобы увидеть, сообщает ли кодировщик о каких-либо проблемах.

ADyson 31.10.2018 14:23
0
10
173
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
$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 символов. Итак, он в конце концов обрезается. не отображается общий декодированный вывод.

sree 31.10.2018 14:09

Не могли бы вы предоставить образец? я почти уверен, что json_decode ничего не «обрезает». Также вы пытались print_r в своем новом массиве, чтобы узнать, так ли это на самом деле?

pr1nc3 31.10.2018 14:11

Другие вопросы по теме