【发布时间】:2015-06-22 14:02:51
【问题描述】:
我有一个返回 JSON 对象的 API 调用的 URL。 如何创建一个调用此 API 的 JavaScript 函数,然后获取 JSON 响应,然后让我检索键值?
例如:API 返回一个名为“Title”的参数,其值为“Coding 101”——我如何得到这个“Coding 101”?
【问题讨论】:
标签: javascript jquery json api get
我有一个返回 JSON 对象的 API 调用的 URL。 如何创建一个调用此 API 的 JavaScript 函数,然后获取 JSON 响应,然后让我检索键值?
例如:API 返回一个名为“Title”的参数,其值为“Coding 101”——我如何得到这个“Coding 101”?
【问题讨论】:
标签: javascript jquery json api get
如果您的 API 是通过 GET 操作调用的,那么您可以对该 API 端点进行 jquery ajax 调用并检索生成的 JSON。然后,您可以使用 JSON.parse 解析此结果。所以你可以做这样的事情:
$.get("APIurl",function(result){
var resultObject = JSON.parse(result);
console.log(resultObject.Title); //Writes Coding 101 on console.
});
【讨论】:
您可以阅读此文档:jQuery.getJSON()
作为示例,您可以使用(来自本文档):
$.getJSON( "ajax/test.json", function( data ) {
var items = [];
$.each( data, function( key, val ) {
items.push( "<li id='" + key + "'>" + val + "</li>" );
});
$( "<ul/>", {
"class": "my-new-list",
html: items.join( "" )
}).appendTo( "body" );
});
有了这个,您可以将“ajax/test.json”替换为“ajax/getapi.php?method='method_wich_you_need'”,然后像这样制作 ajax/getapi.php:
<?php
// curl session initialization
$ch = curl_init();
$method = $_GET['method'];
// set curl options
curl_setopt($ch, CURLOPT_URL, "http://api.com/method/".method."&json");
curl_setopt($ch, CURLOPT_HEADER, 0);
// load page from API
if($result = curl_exec($ch) === false)
{
echo 'Error: ' . curl_error($ch);
}
else
{
echo $result;
}
curl_close($ch);
?>
【讨论】: