我正试图循环通过一个stdClass对象($args),该对象的格式如下所示。目标是循环遍历每个sObject,JSON对值进行编码并将其发送到端点。
我想这会奏效:
$object = $args->Notification->sObject;
foreach($object as $item) { JSON_ENCODE AND SEND TO PASTEB.IN }
只是我得到了一个"空"的回复。
如果我这样做:
$object = $args->Notification;
foreach($object as $item) {
$sf = $item->sObject;"
// JSON_ENCODE $sf and send to PASETBI.N
}
我只得到一个发布到pasteb.in的结果,而不是所有结果(例如,下表中应该有3个单独的结果)。
我已经看过关于在数组/sObject中循环的其他问题的答案,但我做不好。任何帮助都将不胜感激!
打印此对象显示以下格式:
stdClass Object
(
[OrganizationId] => XXXXXXXXXXXXXXXX
[ActionId] => XXXXXXXXXXXXXXXX
[SessionId] =>
[EnterpriseUrl] => https://darlston-dev-ed.my.salesforce.com/services/Soap/c/33.0/XXXXXXXXXXXXXXXX
[PartnerUrl] => https://darlston-dev-ed.my.salesforce.com/services/Soap/u/33.0/XXXXXXXXXXXXXXXX
[Notification] => Array
(
[0] => stdClass Object
(
[Id] => XXXXXXXXXXXXXXXX
[sObject] => stdClass Object
(
[Id] => XXXXXXXXXXXXXXXX
[Contact_Email__c] => test@testemail.com
)
)
[1] => stdClass Object
(
[Id] => XXXXXXXXXXXXXXXX
[sObject] => stdClass Object
(
[Id] => XXXXXXXXXXXXXXXX
[Contact_Email__c] => test@testemail.com
)
)
[2] => stdClass Object
(
[Id] => XXXXXXXXXXXXXXXX
[sObject] => stdClass Object
(
[Id] => XXXXXXXXXXXXXXXX
[Contact_Email__c] => test@testemail.com
)
)
)
)
你能试试这个吗?
foreach($args->Notification as $item)
{
echo $item->Id."<br>";
echo $item->sObject->Id."<br>";
echo $item->sObject->Contact_Email__c."<br>";
}