PHP接收JSON,但可以';我无法破译它

PHP接收JSON,但可以';我无法破译它,php,json,post,decode,Php,Json,Post,Decode,我收到PHP中的JSON代码,但如果我尝试解码它,什么也不会发生 代码: 当我将$json和$output记录到控制台时: $json值为: {“post”:“{'newfavorite':'id1','username':'ifch0o'}”} $输出值为:空字符串或null或未定义。我不知道 控制台显示:输出为:您的JSON使用“表示字符串,但您的内容包含”,例如 因为您已经使用stripslashes()删除了字符转义,所以字符串会提前结束,这会创建无效的JSON 只需删除stripsl

我收到PHP中的JSON代码,但如果我尝试解码它,什么也不会发生

代码:

当我将
$json
$output
记录到控制台时:

$json
值为:

{“post”:“{'newfavorite':'id1','username':'ifch0o'}”}

$输出值为:空字符串或null或未定义。我不知道

控制台显示:
输出为:

您的JSON使用
表示字符串,但您的内容包含
,例如

因为您已经使用
stripslashes()
删除了字符转义,所以字符串会提前结束,这会创建无效的JSON

只需删除
stripslashes()
,即可保留这些字符的转义

$json = $_POST['json'];
$output = json_decode($json);
这是PHP如何看待JSON的:

{
   "post": "{'newfavorite':'<div id=",
   1 // Error here - unexpected 1
   " class=" // unexpected string
   ...
}
{

“职务”:{'newfavorite':'JSON无效;您的引号嵌套不正确JSON输入无效。PHP无法验证它,任何其他语言的JSON解码器也无法验证它。请将代码粘贴到验证器中作为证明。这里的课程是使用正确的JSON编码器生成JSON,而不是自己构建。您需要修复输入;在PHP端您无法修复它。(如果此json来自第三方,那么您需要抱怨他们不太好)首先验证您的json。您可以使用以下网站来确保您的json有效。如果没有删除斜杠,此json有效。。。
{
   "post": "{'newfavorite':'<div id=",
   1 // Error here - unexpected 1
   " class=" // unexpected string
   ...
}