Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从api响应获取特定值_Javascript_Php_Jquery_Ajax - Fatal编程技术网

Javascript 从api响应获取特定值

Javascript 从api响应获取特定值,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我向PHP文件发送Ajax请求,PHP文件向API发送CURL请求,然后返回结果 PHP代码: $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'http://api.example.com?country=usa'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec($ch); curl_close($ch); $response = array('result

我向PHP文件发送Ajax请求,PHP文件向API发送CURL请求,然后返回结果

PHP代码:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://api.example.com?country=usa');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
curl_close($ch);

$response = array('result' => $result);
echo json_encode($response);
Javascript/jQuery代码:

$.ajax({
    url: "file.php",
    type: "POST",
    dataType : "json",
    success: function(data){
        console.log(typeof(data.result));
        console.log(data.result);
    }
});
结果的类型为
string
,结果如下所示:

{“结果”:[{“代码2”:“093”,“代码1”:“纽约”,“液化天然气”:-73.9395687,“名称1”:“纽约”,“拉丁美洲”:42.8142432}}


如何从该结果中获取
lng
lat

当代理将来自第三方API的响应作为JSON编码字符串返回时,您需要手动对其进行反序列化。您可以使用
JSON.parse()
来实现这一点。然后可以按索引访问
结果
数组中的对象。试试这个:

var数据={
结果:“{”结果:“{”代码2:“093”,“代码1:“NY”,“lng:-73.9395687,”名称1:“纽约”,“拉丁美洲”:42.8142432}”
}
//在AJAX回调中:
var obj=JSON.parse(data.result);
var-lat=obj.results[0].lat;
var lng=obj.results[0].lng;
控制台日志(lat);

控制台日志(lng)当代理将来自第三方API的响应作为JSON编码字符串返回时,您需要手动对其进行反序列化。您可以使用
JSON.parse()
来实现这一点。然后可以按索引访问
结果
数组中的对象。试试这个:

var数据={
结果:“{”结果:“{”代码2:“093”,“代码1:“NY”,“lng:-73.9395687,”名称1:“纽约”,“拉丁美洲”:42.8142432}”
}
//在AJAX回调中:
var obj=JSON.parse(data.result);
var-lat=obj.results[0].lat;
var lng=obj.results[0].lng;
控制台日志(lat);
控制台日志(lng)
var数据={“结果”:[{“代码2”:“093”,“代码1”:“纽约”,“液化天然气”:-73.9395687,“名称1”:“纽约”,“拉丁美洲”:42.8142432}]}
console.log(data.results[0].lat);
console.log(data.results[0].lng)
var数据={“结果”:[{“代码2”:“093”,“代码1”:“纽约”,“液化天然气”:-73.9395687,“名称1”:“纽约”,“拉丁美洲”:42.8142432}]}
console.log(data.results[0].lat);

console.log(data.results[0].lng)如果我想用PHP获得相同的值怎么办?我不是PHP开发人员,但我相信在访问相关属性之前,您需要使用来反序列化响应。如果我想用PHP获得相同的值怎么办?我不是PHP开发人员,但我相信您需要在访问相关属性之前使用来反序列化响应