簡體   English   中英

如何在JavaScript中選擇所選對象

[英]how to select the chosen object in JavaScript

這是我的JavaScript對象:

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

如何使用函數getvalue("login","title")getvalue("login","content1") getvalue("login","title")獲得JavaScript對象的屬性值並返回title1content1 我這樣做是為了制作一個多語言的phonegap應用程序,所以當我調用的函數與html中的lang屬性進行比較時,我使用了xui和純javascript,並且沒有jquery,因為它對phonegap來說太沉重了。有人可以幫我嗎? 還是有什么最好的多語言方法?

您的JSON

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

您可以像這樣調用值:

alert(myJSON.login.title);

它將輸出:title1。

因此,假設這是標准變量中的標准json:var myJson。 你為什么不能回來

myJson.login.title (使用此語法)

在上面的示例中,login不是數組,因此您將無法返回登錄值列表

關於國際化,我會做一些簡單的事情(並且我已經在我的應用程序中成功地做到了這一點)。 只需在一個名為language.en.xml(或json等,取決於您是否可以使用框架輕松解析json或xml)的文件中創建一組名稱-值對,以及一個稱為language.it.xml的文件(如果假設您希望擁有意大利語也是如此。 然后,每個文件的每個鍵(例如,登錄名)都相同,並且值是您想要使用每種語言顯示的標題。 非常類似於您的,但是您不需要層次結構。

然后,您可以創建一個稱為Internationalize('Login')的靜態方法,該方法將返回用戶選擇的語言的login值。 因此,在您的方法中,您將檢查用戶語言設置並從所需文件中讀取值。 如果語言是IT,則檢查language.it.xml(或json等)中的值(如果默認)或NULL,或者檢查英語文件。

諸如將語言文件內容預加載到內存中之類的優化也是您應該考慮的事情。

我終於找到了答案,這是:

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

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

結束然后只是調用:

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

它將返回content1

,終於我找到了這個:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM