从API调用(PHP)访问数据
我最近开始使用来自的API,我相信我已经获得了我需要的数据,但我不太确定我到底如何使用它。它返回(我相信)一个对象,我尝试将其类型转换到数组中,但我仍然没有成功地提取出所需的数据。该对象看起来像:从API调用(PHP)访问数据,php,api,unirest,Php,Api,Unirest,我最近开始使用来自的API,我相信我已经获得了我需要的数据,但我不太确定我到底如何使用它。它返回(我相信)一个对象,我尝试将其类型转换到数组中,但我仍然没有成功地提取出所需的数据。该对象看起来像: Unirest\HttpResponse Object ( [code:Unirest\HttpResponse:private] => 200 [raw_body:Unirest\HttpResponse:private] => { "_": { "APP_ID": "
Unirest\HttpResponse Object
(
[code:Unirest\HttpResponse:private] => 200
[raw_body:Unirest\HttpResponse:private] => {
"_": {
"APP_ID": "server_tracked"
},
"success": true,
"requestTime": "2013-08-21T21:02:59-07:00",
"shard": "North_America:YjNmMjE4YmVhZjgxN2M0ZGI0ZTU1YzQ0MWZiMzQ5MGJkMjFhMGRmOA",
"data": {
"accountId": 37774341,
"summonerId": 23638303,
"name": "Naughtlok",
"icon": 550,
"internalName": "naughtlok",
"level": 30
}
}
[body:Unirest\HttpResponse:private] => stdClass Object
(
[_] => stdClass Object
(
[APP_ID] => server_tracked
)
[success] => 1
[requestTime] => 2013-08-21T21:02:59-07:00
[shard] => North_America:YjNmMjE4YmVhZjgxN2M0ZGI0ZTU1YzQ0MWZiMzQ5MGJkMjFhMGRmOA
[data] => stdClass Object
(
[accountId] => 37774341
[summonerId] => 23638303
[name] => Naughtlok
[icon] => 550
[internalName] => naughtlok
[level] => 30
)
)
[headers:Unirest\HttpResponse:private] => Array
(
[content-type] => application/json; charset=utf-8
[date] => Thu, 22 Aug 2013 04:02:59 GMT
[server] => Apache-Coyote/1.1
[x-api-calls-remaining] => -1
[X-Mashape-Proxy-Response] => false
[X-Mashape-Version] => 3.1.1
[transfer-encoding] => chunked
[Connection] => keep-alive
)
)
例如,我的任何指针都可以从“数据”中获取“级别”?Mashape发回一个响应对象,而不是数组。要访问对象的某些部分,您需要使用php指向对象键-以下是相关章节: 响应参考 接收到响应后,Unirest将以对象的形式返回结果,此对象>应始终具有与响应详细信息相关的每种语言的相同键
“code”
-HTTP响应状态代码(示例200
)'headers
'-HTTP响应头“body”
-在适用的情况下,解析响应body,例如,JSON响应被解析为对象/关联数组。“原始正文”
-未解析的响应正文
因此,如果您正在执行类似于print\r($response)的操作代码>给我们这个,做echo$response->raw\u body改为编码>然后将其解析为JSON(或获取解析后的“body”键)。使用print\r($response);打印对象&查看响应是什么
例如:
的发布有很多改进,包括设置
这使您能够更好地控制响应主体类型解析方法(json_decode)
免责声明:我是unirest php的作者,我在Mashape工作。您想获得哪个[level]=>30
?我想从stdClass对象中提取所有数据。我更熟悉在PHP中使用数组,但我想学习对象。我想我希望能够通过使用例如:$data->accountID$data->courgerid…来访问,你有没有试过打印($yourObject)呢代码>?这实际上会告诉你很多我发布的数据实际上来自print_r()。我只是被困在接下来的路上。
<?php
require_once 'lib/Unirest.php';
// These code snippets use an open-source library. http://unirest.io/php
$response = Unirest::get("Your_URL",
//echo $response;
print_r($response);