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

如何使用PHP从指定JSON响应数据中提取MessageId字段的值

实现步骤
  • 第一步:提取纯JSON内容,返回结果外层包裹了<p>和</p>标签,需要先剥离这部分标签得到原始JSON字符串
  • 第二步:使用PHP的json_decode()函数解析JSON字符串,可根据使用习惯转为关联数组或对象格式
  • 第三步:按照JSON的嵌套层级读取MessageId字段的对应值
完整示例代码
<?php
// 接口返回的原始响应内容
$originResponse = '<p>{"ServiceClass":{"MessageId":"1633236883931745","Status":"0","StatusText":"success","ErrorCode":"0","ErrorText":{},"SMSCount":"1","CurrentCredit":"49.24"}}</p>';

// 剥离外层p标签得到纯JSON,也可以用str_replace(['<p>', '</p>'], '', $originResponse) 实现更精准的替换
$pureJson = strip_tags($originResponse);

// 解析JSON,第二个参数传true返回关联数组,不传则返回对象
$parseResult = json_decode($pureJson, true);

// 兼容解析异常的判断逻辑
if (json_last_error() !== JSON_ERROR_NONE) {
    die("JSON解析失败:" . json_last_error_msg());
}

// 按层级取值
$messageId = $parseResult['ServiceClass']['MessageId'];

// 输出验证,结果为1633236883931745
echo $messageId;
?>

如果习惯用对象格式操作,取值方式可改为:

$parseResult = json_decode($pureJson);
$messageId = $parseResult->ServiceClass->MessageId;

内容的提问来源于stack exchange,提问作者Rasel Ahmed Rex

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 22:57:04