0

現在、Web サイトをローカライズしようとしていますが、すべてのデータは JSON ファイルに保存されます。だから私はphpを使ってデータを取得する方法を知りたい

これは私のサンプル 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

4

3 に答える 3

2

あなたはこれを試すことができます

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

echo $obj->{'en-us'}->{'registration'}->{'INVALID_USERNAME'};
于 2012-12-02T03:16:36.597 に答える
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'];
 }
?>
于 2012-12-02T03:40:40.603 に答える
0

あなたは正しいです:

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

取得INVALID_USERNAMEするには、次のことを行う必要があります。

$obj->en_us->registration->INVALID_USERNAME

これは、オブジェクトの下のプロパティであるINVALID_USERNAMEオブジェクト内のプロパティであるためです。registrationen_us

于 2012-12-02T03:10:02.117 に答える