如何根据messages.json中的键Javascript访问对象

如何根据messages.json中的键Javascript访问对象,javascript,jquery,json,internationalization,Javascript,Jquery,Json,Internationalization,对象是 var dict = {}; function loadDict() { var lang = (getCookieVal("lang") || "en"); $.ajax({ async: false, type: "GET", url: "/lang/"+lang + ".json", success: function (msg) { dict = msg; sessionStorage.setItem(lang

对象是

var dict = {};
  function loadDict() {
  var lang = (getCookieVal("lang") || "en");
  $.ajax({
    async: false,
    type: "GET",
    url: "/lang/"+lang + ".json",
    success: function (msg) {
      dict = msg;
      sessionStorage.setItem(lang + 'Data', JSON.stringify(dict));
    }
  });

}
console.log(dict)将为您提供

tabLanding:{message: "Landing"}
tabSetup:{message: "Setup"}
__proto__:Object
在我的html上:

<li class="tab_setup"><a href="#" i18n="tabSetup"></a></li>
现在显示的是【object object】而不是landing………..

在jQuery中对要添加“landing”的元素使用
.html()
。这将把括号内的内容放在目标元素的标记之间

我猜您希望在锚定标记中添加“landing”:

  • 您还可以使用
    dict.tabLanding.message
    访问字典中的“landing”

    因此,如果您希望这样做,您可以执行以下操作:

    $('.tab_setup').find('a').html(dict.tabLanding.message)

    因此,您可以这样使用:

    var dict = {};
      function loadDict() {
      var lang = (getCookieVal("lang") || "en");
      $.ajax({
        async: false,
        type: "GET",
        url: "/lang/"+lang + ".json",
        success: function (msg) {
          dict = msg;
          sessionStorage.setItem(lang + 'Data', JSON.stringify(dict));
          $('.tab_setup').find('a').html(dict.tabLanding.message); // Add "landing" to anchor tag inside the element with the class tab_setup
        }
      });
    
    }
    

    你可以用和这样试一下。这里还可以看到如何访问javascript中的嵌套对象

    var dict={tabLanding:{message:“Landing”}
    var anchor=document.querySelector('li a');
    anchor.innerHTML=dict.tabLanding.message
    
    
    JS-Bin
    

  • 您是否尝试过这样的
    console.log(dict.tabLanding.message)
    
    var dict = {};
      function loadDict() {
      var lang = (getCookieVal("lang") || "en");
      $.ajax({
        async: false,
        type: "GET",
        url: "/lang/"+lang + ".json",
        success: function (msg) {
          dict = msg;
          sessionStorage.setItem(lang + 'Data', JSON.stringify(dict));
          $('.tab_setup').find('a').html(dict.tabLanding.message); // Add "landing" to anchor tag inside the element with the class tab_setup
        }
      });
    
    }