语言翻译的JSON

时间:2017-07-31 01:35:36

标签: javascript jquery json

小提琴:https://codepen.io/anon/pen/EvProJ?editors=1010

我试图使用json对象来设置存储在JSON对象中的值和文本

我可以这样做......

var myJSON = { name:"Michael", age:25, city:"Chicago" };
document.getElementById("demo").innerHTML = myJSON.name;

但是,我在设置存储在JSON对象中的值和文本时遇到了困难。像这样......

var language = {
  eng: {
    hi: "Hello",
    bye: "Goodbye"
  },
  es: {
    hi: "Hola",
    bye: "Adíos"
  },
  fr: {
    hi: "Bonjour",
    bye: "Au revoir"
  }
};

console.log(JSON.parse(language.eng).hi);

有人可以解释我做错了什么以及如何使用此JSON对象动态设置此文本/值?



var language = {
  eng: {
    hi: "Hello",
    bye: "Goodbye"
  },
  es: {
    hi: "Hola",
    bye: "Adíos"
  },
  fr: {
    hi: "Bonjour",
    bye: "Au revoir"
  }
};

$('[data-language]').value = JSON.parse(language.eng).hi;

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input type="text" data-language>
<p data-language></p>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:1)

您不必解析JSON,因为它已经是JSON对象。 只需执行此操作language.eng.hi

演示:https://codepen.io/dividapps/pen/OjMdoj

答案 1 :(得分:1)

JSON.parse用于将Json字符串转换为对象。但是,language已经是一个对象。

如果要将对象转换为Json字符串,请使用stringify方法JSON.stringify(language)