繁体   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