2012-12-02 79 views
0

我目前正在嘗試本地化我的網站,所有數據都將存儲在JSON文件中。所以我想知道如何使用PHP來獲得數據PHP使用JSON獲取數據

這是我的樣本JSON文件/數據

{ 
    "en-us": { 
    "registration": { 
     "INVALID_USERNAME": "your username is taken", 
     "INVALID_PASSWORD": "your password is not strong", 
     "INVALID_EMAIL": "your email is invalid" 
    }, 
    "login": { 
     "INVALID_USERNAME": "please enter your username", 
     "INVALID_PASSWORD": "please enter your password", 
     "INVALID_LOGIN": "username or password is wrong" 
    } 
    } 
} 

現在怎麼辦我從登記部分價值INVALID_USERNAME? 我試過這個,但它不起作用。

$obj = json_decode(file_get_contents("en-us.json")); //file containing the json data above 
echo $obj->{'INVALID_USERNAME'}; 

對不起,我是一個新手,PHP和JSON,感謝您的幫助提前, Vidhu

回答

2

你可以試試這個

$obj = json_decode(file_get_contents("en-us.json")); //file containing the json data above 

echo $obj->{'en-us'}->{'registration'}->{'INVALID_USERNAME'}; 
0

你這樣做是正確的:

$obj = json_decode(file_get_contents("en-us.json")); 

要獲得INVALID_USERNAME你需要這樣做:

$obj->en_us->registration->INVALID_USERNAME 

這是因爲INVALID_USERNAME是prope對象registration內的對象,它是對象en_us下的屬性。

1

作爲解決您的問題,請嘗試以下代碼片段執行

<?php 
$json_content=file_get_contents("en-us.json"); 
$json_array=json_decode($json_content,true); 
if(!empty($json_array)) 
{ 
    echo $json_array['en-us']['registration']['INVALID_USERNAME']; 
} 
?>