我正试图通过JSON访问联系人列表。我很难理解JSON层次结构并访问对象:
$token="25948503485mytokenhere003403403";
$url = "https://crm.zoho.com/crm/private/json/Accounts/getRecords?";
$url .= "authtoken=".$token."&scope=crmapi";
$json = file_get_contents($url);
$contacts = json_decode($json);
$cleanObj = $contacts->response->result->Accounts->row;
function getCompany($obj, $part) {
$innerObj = $obj->FL;
foreach ($innerObj as $c) {
if ($c['val'] == $part) {
return $c['content'];
}
}
}
$company = getCompany($cleanObj[0], "Company");
echo "<pre>";
print_r($cleanObj);
echo "</pre>";
以下是向您显示层次结构的原始响应:
Array
(
[0] => stdClass Object
(
[no] => 1
[FL] => Array
(
[0] => stdClass Object
(
[content] => 1900238000000115001
[val] => ACCOUNTID
)
[1] => stdClass Object
(
[content] => 1900238000000097003
[val] => SMOWNERID
)
[2] => stdClass Object
(
[content] => chase
[val] => Account Owner
)
[3] => stdClass Object
(
[content] => Test Company
[val] => Account Name
)
[4] => stdClass Object
(
[content] => www.google.com
[val] => Website
)
[5] => stdClass Object
(
[content] => 0
[val] => Account Number
)
[6] => stdClass Object
(
[content] => 0
[val] => Employees
)
[7] => stdClass Object
(
[content] => 0
[val] => Annual Revenue
)
[8] => stdClass Object
(
[content] => 0
[val] => SIC Code
)
[9] => stdClass Object
(
[content] => 1900238000000097003
[val] => SMCREATORID
)
[10] => stdClass Object
(
[content] => chase
[val] => Created By
)
[11] => stdClass Object
(
[content] => 1900238000000097003
[val] => MODIFIEDBY
)
[12] => stdClass Object
(
[content] => chase
[val] => Modified By
)
[13] => stdClass Object
(
[content] => 2016-05-18 13:50:57
[val] => Created Time
)
[14] => stdClass Object
(
[content] => 2016-05-18 13:50:57
[val] => Modified Time
)
[15] => stdClass Object
(
[content] => 0
[val] => Billing State
)
[16] => stdClass Object
(
[content] => 2016-05-18 13:50:57
[val] => Last Activity Time
)
)
)
我正在尝试访问&#34; ACCOUNTID&#34;等字段。 &#34; SMOWNERID&#34; &#34;帐户所有者&#34; &#34;帐户名称&#34;那个级别的等等。
此代码返回错误&#34;致命错误:无法使用stdClass类型的对象作为数组&#34;:
$company = getCompany($cleanObj[0], "Company");
有人可以帮助我访问每个联系人对象并能够循环并输出它们吗?
答案 0 :(得分:0)
我最终搞清楚了。使用:
$co_name = $contacts->response->result->Accounts->row->FL[3]->content
作为公司的路径
结果显示结果 - &gt;必须将潜在客户更改为结果 - >帐户才能使其正常阅读。