API传输JSON编码数组后,如何解码外层含方括号的JSON串?
解决方案
读取返回的JSON数据
返回的[{"tracking_no":"MM-43E9","status":"25"}]是包含单个对象的一维数组,你可以通过以下步骤读取数据:
- 解码JSON字符串为关联数组(第二个参数传
true):
$decodedResponse = json_decode($response1, true);
- 直接提取数组的第一个元素(索引为
0)获取目标字段:
$trackingNo = $decodedResponse[0]['tracking_no']; $status = $decodedResponse[0]['status'];
优化请求发送(可选)
你当前发送的是JSON格式的数据,但请求头的Content-Type设置为application/x-www-form-urlencoded,这不符合JSON数据的传输规范,可能导致对方接口处理异常。建议修改请求头的Content-Type为application/json:
CURLOPT_HTTPHEADER => array( 'ApiAuthorization: bearer '.$responsetoken->token, 'Content-Type: application/json' ),
内容的提问来源于stack exchange,提问作者Mash tan
相关产品推荐
相关产品推荐

