【发布时间】:2016-05-16 19:00:43
【问题描述】:
我正在使用 Zoho CRM API 来查看联系人。我以 JSON 格式返回响应。这是我的代码:
$token="03430403423mysecrettokenhere03403";
$url = "https://crm.zoho.com/crm/private/json/Leads/getRecords?";
$url .= "authtoken=".$token."&scope=crmapi";
$json = file_get_contents($url);
$obj = json_decode($json);
echo "<pre>";
print_r($obj);
echo "</pre>";
foreach ($obj as $testme) {
$test = $obj->results[0]->Company;
echo '<br><br>';
echo "test: " . $test;
}
原始响应:
stdClass Object
(
[response] => stdClass Object
(
[result] => stdClass Object
(
[Leads] => stdClass Object
(
[row] => Array
(
[0] => stdClass Object
(
[no] => 1
[FL] => Array
(
[0] => stdClass Object
(
[content] => 1900238000000103005
[val] => LEADID
)
[1] => stdClass Object
(
[content] => 1900238000000097003
[val] => SMOWNERID
)
[2] => stdClass Object
(
[content] => chase
[val] => Lead Owner
)
[3] => stdClass Object
(
[content] => Testttt
[val] => Company
)
[4] => stdClass Object
(
[content] => Test
[val] => First Name
)
[5] => stdClass Object
(
[content] => Lead
[val] => Last Name
)
[6] => stdClass Object
(
[content] => testlead@test.com
[val] => Email
)
[7] => stdClass Object
(
[content] => 0
[val] => No of Employees
)
[8] => stdClass Object
(
[content] => 0
[val] => Annual Revenue
)
[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-16 16:04:37
[val] => Created Time
)
[14] => stdClass Object
(
[content] => 2016-05-16 16:04:37
[val] => Modified Time
)
[15] => stdClass Object
(
[content] => false
[val] => Email Opt Out
)
[16] => stdClass Object
(
[content] => 2016-05-16 16:04:37
[val] => Last Activity Time
)
)
)
[1] => stdClass Object
(
[no] => 2
[FL] => Array
(
[0] => stdClass Object
(
[content] => 1900238000000100023
[val] => LEADID
)
[1] => stdClass Object
(
[content] => 1900238000000097003
[val] => SMOWNERID
)
[2] => stdClass Object
(
[content] => chase
[val] => Lead Owner
)
[3] => stdClass Object
(
[content] => Test
[val] => First Name
)
[4] => stdClass Object
(
[content] => Lead
[val] => Last Name
)
[5] => stdClass Object
(
[content] => testlead@test.com
[val] => Email
)
[6] => stdClass Object
(
[content] => 0
[val] => No of Employees
)
[7] => stdClass Object
(
[content] => 0
[val] => Annual Revenue
)
[8] => stdClass Object
(
[content] => 1900238000000097003
[val] => SMCREATORID
)
[9] => stdClass Object
(
[content] => chase
[val] => Created By
)
[10] => stdClass Object
(
[content] => 1900238000000097003
[val] => MODIFIEDBY
)
[11] => stdClass Object
(
[content] => chase
[val] => Modified By
)
[12] => stdClass Object
(
[content] => 2016-05-16 13:15:29
[val] => Created Time
)
[13] => stdClass Object
(
[content] => 2016-05-16 13:15:29
[val] => Modified Time
)
[14] => stdClass Object
(
[content] => false
[val] => Email Opt Out
)
[15] => stdClass Object
(
[content] => 2016-05-16 13:15:29
[val] => Last Activity Time
)
)
)
)
)
)
[uri] => /crm/private/json/Leads/getRecords
)
)
test:
问题一:
如何读取层次结构并定位“公司”和“名字”“姓氏”等字段。我希望能够为每个联系人输出这些字段。
$test = $obj->response->results->Accounts->row;
这是我能做到的。
问题 2:
我目前有两个联系人在那里进行测试。如何循环遍历每一个?
foreach ($obj as $testme) {
$test = $obj->results[0]->Company;
echo '<br><br>';
echo "test: " . $test;
}
上面的当前循环只返回一个对象。
【问题讨论】:
-
在您的问题中发布(部分)JSON 响应。许多 SO 用户不喜欢点击未知的站外链接。
-
感谢您的建议。仍在学习 SO 方式!我编辑了帖子以显示原始响应
-
此 JSON 响应中的公司在哪里?
-
不确定它是如何被省略的......但我更新了响应以显示它。其 [3]。并且只显示第一个接触对象
-
Cleary $obj->results[0]->公司不是正确的路径,但我不明白如何阅读层次结构@EatPeanutButter