小提琴: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;
答案 0 :(得分:1)
您不必解析JSON,因为它已经是JSON对象。
只需执行此操作language.eng.hi
答案 1 :(得分:1)
JSON.parse用于将Json字符串转换为对象。但是,language
已经是一个对象。
如果要将对象转换为Json字符串,请使用stringify方法JSON.stringify(language)
。