【问题标题】:Accessing/reading JSON hierarchy访问/读取 JSON 层次结构
【发布时间】:2016-05-19 15:54:14
【问题描述】:

我正在尝试通过 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
                    )

            )

    )

我正在尝试访问该级别的“ACCOUNTID”“SMOWNERID”“帐户所有者”“帐户名称”等字段。

此代码返回错误“致命错误:无法使用 stdClass 类型的对象作为数组”:

$company = getCompany($cleanObj[0], "Company");

有人可以帮我访问每个联系人对象并能够循环并输出它们吗?

【问题讨论】:

    标签: arrays json loops hierarchy


    【解决方案1】:

    我最终弄明白了。使用:

    $co_name = $contacts->response->result->Accounts->row->FL[3]->content
    

    作为通往公司的道路

    原来是结果->必须将潜在客户更改为结果->帐户才能正确读取。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-12
      • 1970-01-01
      • 2023-04-07
      • 1970-01-01
      • 2014-03-18
      • 2014-07-04
      • 2019-03-04
      • 1970-01-01
      相关资源
      最近更新 更多