Php 正在尝试获取非对象的属性
我通过了Android的请求Php 正在尝试获取非对象的属性,php,json,slim,Php,Json,Slim,我通过了Android的请求 $request = Slim::getInstance()->request()->getBody(); $final = json_decode($request); echo '{"test": ' . $final->name . '}'; 在哪里, $request = "{\"name\":\"xxxx\"}" 运行时,它会给出试图获取非对象属性的错误消息,看起来您已经对该对象进行了两次编码(反斜杠让我想到了这一点)。因此,对对象进
$request = Slim::getInstance()->request()->getBody();
$final = json_decode($request);
echo '{"test": ' . $final->name . '}';
在哪里,
$request = "{\"name\":\"xxxx\"}"
运行时,它会给出试图获取非对象属性的错误消息,看起来您已经对该对象进行了两次编码(反斜杠让我想到了这一点)。因此,对对象进行两次解码可以解决这一问题:
$final = json_decode(json_decode( $request ));
或者,首先不要编码两次。你也可以去掉斜杠,然后解码。试着重复以下内容:你提供的例子非常有效,我想你在另一个例子中遇到了问题。。。只要
var\u dump($request)
在解码它之前,你就会看到你的答案issue@HalayemAnis我试图在$request='{\'name\':\'xxxx\'}'中传递静态数据,但工作正常。。我在这里面临的问题是双重的quote@No_Rulz给我一个var\u dump($request)
这将避免我们猜测真正的问题:)@HalayemAnis我得到了“{\”name\:\”Durai\“}”“{\”name\:\”xxxx\“}”来自Android,它是JSONObject.toString值