将curl响应解析为可读表

时间:2013-10-29 16:47:11

标签: php curl

我向服务器发送了一个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.  
显然,这不会在这里工作。我该怎么办?

2 个答案:

答案 0 :(得分:1)

这是一个JSON响应。将字符串传递给json_decode以接收对象,并像对待任何其他对象一样迭代它。

答案 1 :(得分: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;