0

これは私の JavaScript オブジェクトです:

   {
    "login" : {
        "title" : "title1"
        "content1" : "content1"
        }
    "Menu" : {
        "title" : "title2"  
        }
    }

getvalue("login","title")関数orgetvalue("login","content1")と return title1orを使用して JavaScript オブジェクトのプロパティの値を取得するにはどうすればよいcontent1ですか? 私は多言語の phonegap アプリを作成するためにこれを行うので、呼び出された関数langが html の属性と比較されるとき、xui と純粋な JavaScript を使用し、jquery を使用しません。phonegap には重すぎると思います..誰か助けてくれますか? または、多言語に最適な方法はありますか?

4

3 に答える 3

0

したがって、これが標準変数 var myJson の標準 json であると仮定します。どうせ返せない

myJson.login.title(この構文による)

上記の例では、ログインは配列ではないため、ログイン値のリストを返すことはできません

国際化に関しては、もっと簡単なことをしたいと思います (そして、私は自分のアプリでそれをうまくやっています)。language.en.xml (またはフレームワークを使用して json または xml を簡単に解析できる場合は json など) と呼ばれるファイルに名前と値のペアのセットを作成し、必要な場合は language.it.xml と呼ばれるものを作成します。イタリア語も。次に、各キー (ログインなど) はすべてのファイルで同じであり、値は各言語で使用するタイトルです。あなたのものとかなり似ていますが、階層は必要ありません。

次に、ユーザーが選択した言語の login の値を返す Internationalize('Login') という静的メソッドを作成できます。したがって、メソッドでは、ユーザーの言語設定を確認し、必要なファイルから値を読み取ります。言語が IT の場合、language.it.xml (または json など) の値を確認します。デフォルトまたは NULL または en の場合は、英語のファイルを確認します。

言語ファイルの内容をメモリにプリロードするなどの最適化も、検討する必要があります。

于 2013-07-03T08:34:33.613 に答える
0

私は最終的に答えを見つけました、ここにあります:

var data = {
"login" : {
    "title" : "title1"
    "content1" : "content1"
    }
"Menu" : {
    "title" : "title2"  
    }
}

function getvalue(resource, paramA, ParamB) 
{
   return resource[paramA][paramB];
}

終了してから呼び出されました:

getvalue(data,"login","content1")

それは戻ってきますcontent1

ハフ、ついに私はこれを見つけました:)

于 2013-07-04T05:26:50.033 に答える
0

あなたのJSON

myJSON = { 
  'login' : { 'title' : 'title1'},
  'menu' : { 'title' : 'title2'} 
};

次のように値を呼び出すことができます。

alert(myJSON.login.title);

次のように出力されます: title1.

于 2013-07-03T08:33:21.617 に答える