0

我向服务器发送了一个 curl 请求并得到以下结果:

{ "data": [
    { "state_msg": "Canceled", 
      "dpc": null, 
      "mgcp_call_ids": null, 
      "code": 487,"mgcp_mgc_ip": null, 
      "dst_codecs": "G729,telephone-event,H264,H263", 
      "megaco_mg_ip": null,"src_codecs": 
      "G729,PCMU,telephone-event,H264,H263", 
      "q850_state_details": null, 
      "pid":1383031680, 
      "call_time": null
.......

我如何将其解析为可读字段?我正在寻找类似 foreach 循环或类似的东西。

如果这是 xml 我可以做

 $response->data->state_msg.  

显然这在这里行不通。我能做些什么?

4

2 回答 2

1

这是一个 JSON 响应。传递字符串json_decode以接收对象并像处理任何其他对象一样对其进行迭代。

于 2013-10-29T16:49:44.370 回答
1

像这样做:

$json_string = '{"data": {"state_msg": "Canceled", "dpc": null, "mgcp_call_ids": null, "code": 487,"mgcp_mgc_ip": null, "dst_codecs": "G729,telephone-event,H264,H263", "megaco_mg_ip": null,"src_codecs": "G729,PCMU,telephone-event,H264,H263", "q850_state_details": null, "pid":1383031680, "call_time": null}');
$obj = json_decode($json_string);

它会将您的 JSON 转换为一个数组,您可以像这样读取它

echo $obj->data->state_msg;
于 2013-10-29T16:57:37.190 回答