Tuesday, April 8, 2014

[PHP][JSON][Example] Print object value of multiple JSON objects using php

$json = '{
    "john":[{"k_id":"1","en_name":"John Chan"}],
    "mary":[{"k_id":"1","en_name":"Mary Li"}],
    "sue":[{"k_id":"1","en_name":"Sue Lam"}]  
}';
$catalog = json_decode($json);

if you want to got john's detail
echo $catalog->john[0]->{'en_name'}.", ";
echo $catalog->{'john'}[0]->{'en_name'};
Result:
John Chan, John Chan

if you want to got john's detail
echo $catalog->mary[0]->{'en_name'}.", ";
echo $catalog->{'mary'}[0]->{'en_name'};

Result:
Mary Li, Mary Li

Dynamic load get key
$name= "john";
echo $catalog->{$name}[0]->{'en_name'};
$name= "sue";
echo $catalog->{$name}[0]->{'en_name'};
******
And now let add a record for John and Sue:
$json = '{
    "john":[{"k_id":"1","en_name":"John Chan"},
            {"k_id":"1","en_name":"Johnny Chan"}],
    "mary":[{"k_id":"1","en_name":"Mary Li"}],
    "sue":[{"k_id":"1","en_name":"Susam Lam"},
           {"k_id":"1","en_name":"Sue Lam"}]  
}';
$catalog = json_decode($json);

//if you want to got ppl's eng name
echo "John's name: ".$catalog->john[0]->{'en_name'}.'<br />';
echo "Sue's name: ".$catalog->sue[1]->{'en_name'};

Result:
John's name: John Chan
Sue's name: Sue Lam

No comments :

Post a Comment