php - php:包含 HTML 的 json_decode 无法解码
问题描述
我需要使用客户的 API 来加载仅包含以下内容的 JSON:
{"html" : "foo"}
该 API 正在从其他服务中使用,所以我很确定它是有效的。
但是,当尝试使用 json_decode 对其进行解码时,我总是得到一个空字符串,这意味着它无效。我发现我需要通过替换来“修复”JSON-String:
$json = str_replace("\\>", "\\\\>", $json); // \> = invalid json
它主要适用于每个请求,但不适用于某些其他请求,但调试起来非常棘手,我无法想象替换是正确的方法。我将如何将json字符串转换为有效字符串的简单方法?
谢谢
解决方案
好的,我可以找出问题所在:
HTML 在结束标记中包含反斜杠,例如<br\>
您需要像这样替换它们:
$json = str_replace("\\>", "\\\\>", $json);
和 json_decode 将工作
推荐阅读
- python - 如何将整数列表拆分为两个独立的列表,它们的平均值大致相同?-Python
- php - php 7.4 install Imagick 找不到未定义的宏
- php - 在 symfony 中反序列化对象返回异常
- python - 使用python删除临时文件夹中的所有文件
- python - 将整个列表写入 Python 中的文本文件
- mysql - 运行查询时 5 秒后运行 MySQL 命令
- javascript - 使用 javascript 在表格中显示 csv 文件
- python - Python中的线性回归系数
- powershell - 有没有一种简单的方法可以让 Powershell 始终显示实际值?
- python - 将值转换为数据框或特定列中阈值的虚拟变量