Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Tenho uma grande dificuldade de usar json.
Preciso extrair algumas informações da árvore e não consigo.
No json abaixo tenho que fazer um "for" para extrair todos os nós do items e desses nós tenho que pegar as informações: "sender" que está dentro de envelope e "event". Dentro de headers preciso do "to".
Será que pode me ajudar?
{
"http_response_body": {
"items": [
{
"tags": [],
"timestamp": 1.42983386E9,
"envelope": {
"targets": "email@email.com.br",
"transport": "smtp",
"sender": "email2@email2.com.br"
},
"recipient-domain": "gmail.com",
"method": "smtp",
"campaigns": [],
"user-variables": {},
"flags": {
"is-routed": null,
"is-authenticated": true,
"is-system-test": false,
"is-test-mode": false
},
"log-level": "info",
"id": "ea-h1yduTCudNamLoWPYNw",
"message": {
"headers": {
"to": "",
"message-id": "3196BE063ADB469EA35893A075D931ED@LeandroPC",
"from": "",
"subject": "Teste não 1"
},
"attachments": [],
"recipients": [
"email@email.com.br"
],
"size": 1167
},
"recipient": "email@email.com.br",
"event": "accepted"
},
{
"tags": [],
"delivery-status": {
"message": "",
"code": 0,
"description": null,
"session-seconds": 1.3967459
},
"envelope": {
"transport": "smtp",
"sender": "email2@email2.com.br",
"sending-ip": "184.173.153.215",
"targets": "email@email.com.br"
},
"recipient-domain": "gmail.com",
"id": "zIiqmBAqQZO93GKiO8HkJQ",
"campaigns": [],
"user-variables": {},
"flags": {
"is-routed": null,
"is-authenticated": true,
"is-system-test": false,
"is-test-mode": false
},
"log-level": "info",
"timestamp": 1.42983386E9,
"message": {
"headers": {
"to": "",
"message-id": "3196BE063ADB469EA35893A075D931ED@LeandroPC",
"from": "",
"subject": "Teste não 1"
},
"attachments": [],
"recipients": [
"email@email.com.br"
],
"size": 1933
},
"recipient": "email@email.com.br",
"event": "delivered"
},
{
"geolocation": {
"city": "São Paulo",
"region": "27",
"country": "BR"
},
"tags": [],
"url": "http://www.link.com.br",
"timestamp": 1.42983411E9,
"log-level": "info",
"id": "FcBAicNOQ065B9MHsZhXgQ",
"campaigns": [],
"user-variables": {},
"ip": "201.6.241.49",
"client-info": {
"client-os": "Windows",
"device-type": "desktop",
"client-name": "Chrome",
"client-type": "browser",
"user-agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36"
},
"message": {
"headers": {
"message-id": "3196BE063ADB469EA35893A075D931ED@LeandroPC"
}
},
"recipient": "email@email.com.br",
"event": "clicked"
},
{
"geolocation": {
"city": "Mountain View",
"region": "CA",
"country": "US"
},
"tags": [],
"ip": "66.249.88.251",
"log-level": "info",
"id": "oSPy9zMOQLu60bsYAljilg",
"campaigns": [],
"user-variables": {},
"timestamp": 1.42983411E9,
"client-info": {
"client-os": "Windows",
"device-type": "desktop",
"client-name": "Firefox",
"client-type": "browser",
"user-agent": "Mozilla/5.0 (Windows NT 5.1; rv:11.0) Gecko Firefox/11.0 (via ggpht.com GoogleImageProxy)"
},
"message": {
"headers": {
"message-id": "3196BE063ADB469EA35893A075D931ED@LeandroPC"
}
},
"recipient": "email@email.com.br",
"event": "opened"
}
],
},
"http_response_code": 200
}
Fiz a mesma coisa que vc me passou, porém não está dando certo.
O erro: Undefined offset: 0
No Foreach ou no Loop usa o var_dump() que vai ajudar a ir testando e vendo o retorno...
E pode descobrir pq e em quando item não esta achando a posição...
foreach ($json as $item) {
var_dump($item);
var_dump($item->envelope);
var_dump("----------------------");
}
De novo?
:sleep:
http://forum.imasters.com.br/topic/535403-json-pegar-valor/
Pelo menos tente estudar o que eu fiz no outro post para pegar os valores, ai fica difícil ajudar nego que quer tudo pronto e mastigado. :coolio: