You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP中如何读取$response对象内嵌套的response中的success属性?

解决嵌套JSON响应的取值问题

嘿,你遇到的问题其实很常见——你的$response->response并不是一个PHP对象或者数组,而是JSON格式的字符串!这就是为什么你直接用->success或者["success"]都得不到正确结果的原因:

  • 用$response->response->success时,因为它是字符串而非对象,自然找不到success属性;
  • 用$response->response["success"]时,PHP会把字符串当成字符数组处理,它会把字符串键名默认转成整数0,所以你拿到的是JSON字符串的第一个字符{,这就解释了为什么只返回这个符号。

正确的解决步骤:

你需要先把这个JSON字符串解析成PHP能识别的对象或关联数组,用json_decode()函数就能搞定:

方法1:解析成PHP对象

// 把JSON字符串转成PHP对象
$parsedResponse = json_decode($response->response);
// 现在就可以用对象属性的方式取值了
var_dump($parsedResponse->success); // 会输出bool(false)

方法2:解析成关联数组

如果更习惯用数组的方式操作,给json_decode()加第二个参数true:

// 把JSON字符串转成关联数组
$parsedResponse = json_decode($response->response, true);
// 用数组键名取值
var_dump($parsedResponse['success']); // 同样输出bool(false)

额外小提示

如果担心JSON解析失败,可以加个错误判断:

$parsedResponse = json_decode($response->response);
if (json_last_error() === JSON_ERROR_NONE) {
    // 解析成功,正常取值
    echo $parsedResponse->success;
} else {
    // 解析失败,处理错误
    echo 'JSON解析出错:' . json_last_error_msg();
}

内容的提问来源于stack exchange,提问作者charlie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:14:07