paginad 0 Denunciar post Postado Abril 24, 2015 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 } Compartilhar este post Link para o post Compartilhar em outros sites
Williams Duarte 431 Denunciar post Postado Abril 24, 2015 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: Compartilhar este post Link para o post Compartilhar em outros sites
paginad 0 Denunciar post Postado Abril 24, 2015 Fiz a mesma coisa que vc me passou, porém não está dando certo. O erro: Undefined offset: 0 Compartilhar este post Link para o post Compartilhar em outros sites
Leandro Senni 1 Denunciar post Postado Abril 24, 2015 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("----------------------"); } Compartilhar este post Link para o post Compartilhar em outros sites