我经常得到一些json响应,我将json响应存储在一个文件中。我想解码
[{"email":"example@test.com","timestamp":1460352083,"smtp-id":"'u003c14c5d75ce93.dfd.64b469@ismtpd-555'u003e","event":"processed","category":"cat facts","sg_event_id":"QdphcK0Jre4Q7L9Huwm_ug==","sg_message_id":"14c5d75ce93.dfd.64b469.filter0001.16648.5515E0B88.0"},{"email":"example@test.com","timestamp":1460352083,"smtp-id":"'u003c14c5d75ce93.dfd.64b469@ismtpd-555'u003e","event":"deferred","category":"cat facts","sg_event_id":"vbfCZfSBz32ySl7j5nSayw==","sg_message_id":"14c5d75ce93.dfd.64b469.filter0001.16648.5515E0B88.0","response":"400 try again later","attempt":"5"},{"email":"example@test.com","timestamp":1460352083,"smtp-id":"'u003c14c5d75ce93.dfd.64b469@ismtpd-555'u003e","event":"delivered","category":"cat facts","sg_event_id":"tmFRu_j-NWZ4fZU4zRhDYg==","sg_message_id":"14c5d75ce93.dfd.64b469.filter0001.16648.5515E0B88.0","response":"250 OK"},{"email":"example@test.com","timestamp":1460352083,"smtp-id":"'u003c14c5d75ce93.dfd.64b469@ismtpd-555'u003e","event":"open","category":"cat facts","sg_event_id":"LlbAt3ZNgC3yUoTt0ImdXg==","sg_message_id":"14c5d75ce93.dfd.64b469.filter0001.16648.5515E0B88.0","useragent":"Mozilla/4.0 (compatible; MSIE 6.1; Windows XP; .NET CLR 1.1.4322; .NET CLR 2.0.50727)","ip":"255.255.255.255"},{"email":"example@test.com","timestamp":1460352083,"smtp-id":"'u003c14c5d75ce93.dfd.64b469@ismtpd-555'u003e","event":"click","category":"cat facts","sg_event_id":"7seySmsaB5gncIjv4dmfGg==","sg_message_id":"14c5d75ce93.dfd.64b469.filter0001.16648.5515E0B88.0","useragent":"Mozilla/4.0 (compatible; MSIE 6.1; Windows XP; .NET CLR 1.1.4322; .NET CLR 2.0.50727)","ip":"255.255.255.255","url":"http://www.sendgrid.com/"},{"email":"example@test.com","timestamp":1460352083,"smtp-id":"'u003c14c5d75ce93.dfd.64b469@ismtpd-555'u003e","event":"bounce","category":"cat facts","sg_event_id":"xOeVKsSD2pcarTPw6r6q5g==","sg_message_id":"14c5d75ce93.dfd.64b469.filter0001.16648.5515E0B88.0","reason":"500 unknown recipient","status":"5.0.0"},{"email":"example@test.com","timestamp":1460352083,"smtp-id":"'u003c14c5d75ce93.dfd.64b469@ismtpd-555'u003e","event":"dropped","category":"cat facts","sg_event_id":"-mk0ZOl1WgDTEteRC2olOw==","sg_message_id":"14c5d75ce93.dfd.64b469.filter0001.16648.5515E0B88.0","reason":"Bounced Address","status":"5.0.0"},{"email":"example@test.com","timestamp":1460352083,"smtp-id":"'u003c14c5d75ce93.dfd.64b469@ismtpd-555'u003e","event":"spamreport","category":"cat facts","sg_event_id":"x-S6eSyCAzeEZoTrJvf0rg==","sg_message_id":"14c5d75ce93.dfd.64b469.filter0001.16648.5515E0B88.0"},{"email":"example@test.com","timestamp":1460352083,"smtp-id":"'u003c14c5d75ce93.dfd.64b469@ismtpd-555'u003e","event":"unsubscribe","category":"cat facts","sg_event_id":"RQ9N3MW13w8AWeGU_fwD7Q==","sg_message_id":"14c5d75ce93.dfd.64b469.filter0001.16648.5515E0B88.0"},{"email":"example@test.com","timestamp":1460352083,"smtp-id":"'u003c14c5d75ce93.dfd.64b469@ismtpd-555'u003e","event":"group_unsubscribe","category":"cat facts","sg_event_id":"jIDVkh2-1yXXIJBOK-lVmg==","sg_message_id":"14c5d75ce93.dfd.64b469.filter0001.16648.5515E0B88.0","useragent":"Mozilla/4.0 (compatible; MSIE 6.1; Windows XP; .NET CLR 1.1.4322; .NET CLR 2.0.50727)","ip":"255.255.255.255","url":"http://www.sendgrid.com/","asm_group_id":10},{"email":"example@test.com","timestamp":1460352083,"smtp-id":"'u003c14c5d75ce93.dfd.64b469@ismtpd-555'u003e","event":"group_resubscribe","category":"cat facts","sg_event_id":"BtasI8e0rTH1GyCQHYX-Ag==","sg_message_id":"14c5d75ce93.dfd.64b469.filter0001.16648.5515E0B88.0","useragent":"Mozilla/4.0 (compatible; MSIE 6.1; Windows XP; .NET CLR 1.1.4322; .NET CLR 2.0.50727)","ip":"255.255.255.255","url":"http://www.sendgrid.com/","asm_group_id":10}]
[{"email":"example@test.com","timestamp":1460352083,"smtp-id":"'u003c14c5d75ce93.dfd.64b469@ismtpd-555'u003e","event":"processed","category":"cat facts","sg_event_id":"QdphcK0Jre4Q7L9Huwm_ug==","sg_message_id":"14c5d75ce93.dfd.64b469.filter0001.16648.5515E0B88.0"},{"email":"example@test.com","timestamp":1460352083,"smtp-id":"'u003c14c5d75ce93.dfd.64b469@ismtpd-555'u003e","event":"deferred","category":"cat facts","sg_event_id":"vbfCZfSBz32ySl7j5nSayw==","sg_message_id":"14c5d75ce93.dfd.64b469.filter0001.16648.5515E0B88.0","response":"400 try again later","attempt":"5"},{"email":"example@test.com","timestamp":1460352083,"smtp-id":"'u003c14c5d75ce93.dfd.64b469@ismtpd-555'u003e","event":"delivered","category":"cat facts","sg_event_id":"tmFRu_j-NWZ4fZU4zRhDYg==","sg_message_id":"14c5d75ce93.dfd.64b469.filter0001.16648.5515E0B88.0","response":"250 OK"},{"email":"example@test.com","timestamp":1460352083,"smtp-id":"'u003c14c5d75ce93.dfd.64b469@ismtpd-555'u003e","event":"open","category":"cat facts","sg_event_id":"LlbAt3ZNgC3yUoTt0ImdXg==","sg_message_id":"14c5d75ce93.dfd.64b469.filter0001.16648.5515E0B88.0","useragent":"Mozilla/4.0 (compatible; MSIE 6.1; Windows XP; .NET CLR 1.1.4322; .NET CLR 2.0.50727)","ip":"255.255.255.255"},{"email":"example@test.com","timestamp":1460352083,"smtp-id":"'u003c14c5d75ce93.dfd.64b469@ismtpd-555'u003e","event":"click","category":"cat facts","sg_event_id":"7seySmsaB5gncIjv4dmfGg==","sg_message_id":"14c5d75ce93.dfd.64b469.filter0001.16648.5515E0B88.0","useragent":"Mozilla/4.0 (compatible; MSIE 6.1; Windows XP; .NET CLR 1.1.4322; .NET CLR 2.0.50727)","ip":"255.255.255.255","url":"http://www.sendgrid.com/"},{"email":"example@test.com","timestamp":1460352083,"smtp-id":"'u003c14c5d75ce93.dfd.64b469@ismtpd-555'u003e","event":"bounce","category":"cat facts","sg_event_id":"xOeVKsSD2pcarTPw6r6q5g==","sg_message_id":"14c5d75ce93.dfd.64b469.filter0001.16648.5515E0B88.0","reason":"500 unknown recipient","status":"5.0.0"},{"email":"example@test.com","timestamp":1460352083,"smtp-id":"'u003c14c5d75ce93.dfd.64b469@ismtpd-555'u003e","event":"dropped","category":"cat facts","sg_event_id":"-mk0ZOl1WgDTEteRC2olOw==","sg_message_id":"14c5d75ce93.dfd.64b469.filter0001.16648.5515E0B88.0","reason":"Bounced Address","status":"5.0.0"},{"email":"example@test.com","timestamp":1460352083,"smtp-id":"'u003c14c5d75ce93.dfd.64b469@ismtpd-555'u003e","event":"spamreport","category":"cat facts","sg_event_id":"x-S6eSyCAzeEZoTrJvf0rg==","sg_message_id":"14c5d75ce93.dfd.64b469.filter0001.16648.5515E0B88.0"},{"email":"example@test.com","timestamp":1460352083,"smtp-id":"'u003c14c5d75ce93.dfd.64b469@ismtpd-555'u003e","event":"unsubscribe","category":"cat facts","sg_event_id":"RQ9N3MW13w8AWeGU_fwD7Q==","sg_message_id":"14c5d75ce93.dfd.64b469.filter0001.16648.5515E0B88.0"},{"email":"example@test.com","timestamp":1460352083,"smtp-id":"'u003c14c5d75ce93.dfd.64b469@ismtpd-555'u003e","event":"group_unsubscribe","category":"cat facts","sg_event_id":"jIDVkh2-1yXXIJBOK-lVmg==","sg_message_id":"14c5d75ce93.dfd.64b469.filter0001.16648.5515E0B88.0","useragent":"Mozilla/4.0 (compatible; MSIE 6.1; Windows XP; .NET CLR 1.1.4322; .NET CLR 2.0.50727)","ip":"255.255.255.255","url":"http://www.sendgrid.com/","asm_group_id":10},{"email":"example@test.com","timestamp":1460352083,"smtp-id":"'u003c14c5d75ce93.dfd.64b469@ismtpd-555'u003e","event":"group_resubscribe","category":"cat facts","sg_event_id":"BtasI8e0rTH1GyCQHYX-Ag==","sg_message_id":"14c5d75ce93.dfd.64b469.filter0001.16648.5515E0B88.0","useragent":"Mozilla/4.0 (compatible; MSIE 6.1; Windows XP; .NET CLR 1.1.4322; .NET CLR 2.0.50727)","ip":"255.255.255.255","url":"http://www.sendgrid.com/","asm_group_id":10}]
这是我用来解码的代码
function b() {
$string = file_get_contents("/home/linux/Public/test/a.json");
$json_a = json_decode($string, true);
print_r($json_a);
foreach ($json_a as $person_name) {
print_r($person_name);
}
}
它将Invalid argument supplied for foreach()
打印为错误。我删除了所有的响应,只使用了一个响应,然后它运行良好。
如果使用换行符分隔每个json,则可以执行
foreach (file($file_name) as $json_plain) {
print_r(json_decode($json_plain, true));
}
file()
可以将文件拆分为一组行,这样您就可以对每一行进行解码。
<?php
$file_name = 'a.json';
foreach (file($file_name) as $json_plain) {
print_r(json_decode($json_plain, true));
}
?>
你可以用这个。