【发布时间】:2017-11-20 05:30:39
【问题描述】:
这是在api中输出数据的部分代码:
$message = str_replace('"','"',$message);
$message = utf8_encode($message);
$info = array('whosendit' => $use_id,
'message_number' => $message_number,
'date' => $date,
'seen' => $checked_mess,
'message' => $message,
'pic' => $pic
);
$rows[] = $info;
}
$row66 = array($rows, $other_side_avatar, $other_side_name, $other_side_sex, $banned_or_not, $blocked, $start_position);
echo str_replace("\\","", json_encode($row66));
exit;
这里发生的情况是 str_replace 正在删除 \n 前面的 \,因此,如果消息是“你好吗(这里是新行)”,应用程序将显示“你好吗”而不是新的句后空行。我需要 str_replace 来完成它的工作,因为没有它像 uploads/mypicture.jpg 这样的链接将作为 uploads/mypicture.jpg 返回,我们无法在应用程序中使用它。任何建议将不胜感激。
【问题讨论】:
-
uploads/mypicture.jpg正在使用正斜杠,为什么要去除反斜杠? (以及为什么正斜杠会破坏您的应用程序) -
如果我不剥离反斜杠,json 将转义正斜杠,我需要实际的图像表示,即 uploads/mypicture.jpg 而不是 uploads\/mypicture.jpg,以便应用程序能够加载这张图片,否则它不是打开的实际路径。让我们暂时忘记图片,想象一下 echo str_replace("\\","", json_encode($row66));是一个常数,所以我们不考虑它。我们需要思考的是如何让新的生产线运转起来。
-
这有多愚蠢?听起来您只是没有正确解码应用程序中的数据。检查您的数据传输并正确封装它,到目前为止它已损坏(或更可能在 ios 端甚至不存在)
-
@hakre 可能和你一样愚蠢,但你处理这类问题的时间更长了。我会查一下。感谢您的建议,但我既不欣赏语言也不欣赏您的反对意见,因此您现在可以离开。即使你是扎克伯格本人,这里也不需要你的帮助。
-
在 PHP 中执行 json_encode 操作。有用。无需对它的返回值应用更改。只是传递它。另一方面解码json字符串。完毕。只是意味着编码某些东西然后不解码它只是完成了一半的工作。