如何从json响应中获取特定字段值

时间:2016-09-14 13:03:17

标签: php jquery json ajax

我正在尝试从我的网站调用外部API系统。在ajax响应中,我得到以下数据。

object(stdClass)#3 (3) {


["status"]=>
  string(7) "success"
  ["code"]=>
  int(200)
  ["data"]=>
  object(stdClass)#4 (3) {

    ["desktop_url"]=>
    string(113) "http://landing.beta.learning.social/remote?token=a_token_value"

    ["mobile_url"]=>
    string(115) "http://m.landing.beta.learning.social/remote?token=a_token_value"

  }
}

我需要从此响应中获取desktop_url字段的值。因此我可以使用该字段中的url重定向页面。我已尝试使用以下代码。

$.ajax({
  type: "POST", 
  url: path, 
  data: "email=" + $("#email_data").val() + "&fname=" + $("#fname_data").val()+"&grade="+$("#gradeID_data").val()+
  "&lastname="+$("#lname_data").val(),
  success: function(message){
    $(message).map(function(item){console.log (item.data);});
  }
});

这对我不起作用并给我以下错误

Error: Syntax error, unrecognized expression: object(stdClass)#3 (3...

1 个答案:

答案 0 :(得分:3)

您需要对来自api调用的响应进行json编码

<?php 
$response = $api->call($params[,...]);


header('content-type:application/json');
exit(json_encode($response));