everybody! Could I ask you to help me to decode this JSON code:
$json = '{"inbox":[{"from":"55512351","date":"29\/03\/2010","time":"21:24:10","utcOffsetSeconds":3600,"recipients":[{"address":"55512351","name":"55512351","deliveryStatus":"notRequested"}],"body":"This is message text."},{"from":"55512351","date":"29\/03\/2010","time":"21:24:12","utcOffsetSeconds":3600,"recipients":[{"address":"55512351","name":"55512351","deliveryStatus":"notRequested"}],"body":"This is message text."},{"from":"55512351","date":"29\/03\/2010","time":"21:24:13","utcOffsetSeconds":3600,"recipients":[{"address":"55512351","name":"55512351","deliveryStatus":"notRequested"}],"body":"This is message text."},{"from":"55512351","date":"29\/03\/2010","time":"21:24:13","utcOffsetSeconds":3600,"recipients":[{"address":"55512351","name":"55512351","deliveryStatus":"notRequested"}],"body":"This is message text."}]}';
I would like to organize above structure to this:
Folder: inbox
From (from): ...
Date (date): ...
Time (time): ...
utcOffsetSeconds: ...
Recepient (address): ...
Recepient (name): ...
Status (deliveryStatus): ...
Text (body): ...
...
Thank you in advance!
You can use the json_decode
function, to decode your JSON string :
$json = '{"inbox":[{"from":"55512351","date":"29\/03\/2010","time":"21:24:10","utcOffsetSeconds":3600,"recipients":[{"address":"55512351","name":"55512351","deliveryStatus":"notRequested"}],"body":"This is message text."},{"from":"55512351","date":"29\/03\/2010","time":"21:24:12","utcOffsetSeconds":3600,"recipients":[{"address":"55512351","name":"55512351","deliveryStatus":"notRequested"}],"body":"This is message text."},{"from":"55512351","date":"29\/03\/2010","time":"21:24:13","utcOffsetSeconds":3600,"recipients":[{"address":"55512351","name":"55512351","deliveryStatus":"notRequested"}],"body":"This is message text."},{"from":"55512351","date":"29\/03\/2010","time":"21:24:13","utcOffsetSeconds":3600,"recipients":[{"address":"55512351","name":"55512351","deliveryStatus":"notRequested"}],"body":"This is message text."}]}';
$data = json_decode($json);
var_dump($data);
And you'll get something like this :
object(stdClass)[1]
public 'inbox' =>
array
0 =>
object(stdClass)[2]
public 'from' => string '55512351' (length=8)
public 'date' => string '29/03/2010' (length=10)
public 'time' => string '21:24:10' (length=8)
public 'utcOffsetSeconds' => int 3600
public 'recipients' =>
array
0 =>
object(stdClass)[3]
public 'address' => string '55512351' (length=8)
public 'name' => string '55512351' (length=8)
public 'deliveryStatus' => string 'notRequested' (length=12)
public 'body' => string 'This is message text.' (length=21)
1 =>
object(stdClass)[4]
public 'from' => string '55512351' (length=8)
public 'date' => string '29/03/2010' (length=10)
public 'time' => string '21:24:12' (length=8)
public 'utcOffsetSeconds' => int 3600
public 'recipients' =>
array
0 =>
object(stdClass)[5]
public 'address' => string '55512351' (length=8)
public 'name' => string '55512351' (length=8)
public 'deliveryStatus' => string 'notRequested' (length=12)
public 'body' => string 'This is message text.' (length=21)
....
....
Now that you know the structure of the data, you can iterate over it ; for instance, you could use something like this :
foreach ($data->inbox as $note) {
echo '<p>';
echo 'From : ' . htmlspecialchars($note->from) . '<br />';
echo 'Date : ' . htmlspecialchars($note->date) . '<br />';
echo 'Body : ' . htmlspecialchars($note->body) . '<br />';
echo '</p>';
}
And you'll get this kind of output :
From : 55512351
Date : 29/03/2010
Body : This is message text.
From : 55512351
Date : 29/03/2010
Body : This is message text.
...
...
Looks like the recipients property is an array, try this:
$json = '{"inbox":[{"from":"55512351","date":"29\/03\/2010","time":"21:24:10","utcOffsetSeconds":3600,"recipients":[{"address":"55512351","name":"55512351","deliveryStatus":"notRequested"}],"body":"This is message text."},{"from":"55512351","date":"29\/03\/2010","time":"21:24:12","utcOffsetSeconds":3600,"recipients":[{"address":"55512351","name":"55512351","deliveryStatus":"notRequested"}],"body":"This is message text."},{"from":"55512351","date":"29\/03\/2010","time":"21:24:13","utcOffsetSeconds":3600,"recipients":[{"address":"55512351","name":"55512351","deliveryStatus":"notRequested"}],"body":"This is message text."},{"from":"55512351","date":"29\/03\/2010","time":"21:24:13","utcOffsetSeconds":3600,"recipients":[{"address":"55512351","name":"55512351","deliveryStatus":"notRequested"}],"body":"This is message text."}]}';
$data = json_decode($json);
print_r($data);
foreach ($data->inbox as $note)
{
echo '<p>';
echo 'From : ' . htmlspecialchars($note->from) . '<br />';
echo 'Date : ' . htmlspecialchars($note->date) . '<br />';
echo 'Time : ' . htmlspecialchars($note->time) . '<br />';
echo 'Body : ' . htmlspecialchars($note->body) . '<br />';
foreach($note->recipients as $recipient)
{
echo 'To (address) : ' . htmlspecialchars($recipient->address) . '<br />';
echo 'To (name) : ' . htmlspecialchars($recipient->name) . '<br />';
echo 'Status : ' . htmlspecialchars($recipient->deliveryStatus) . '<br />';
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With