我正在构建一个词典单词定义搜索引擎,该引擎具有#submit按钮和#word输入。我也有一个JSON字典(Github link)。我不知道如何根据用户类型选择要使用的单词定义。
我已经尝试过将input.value()作为var对象放入json对象查询中:
var uInVal = input.value();
document.getElementById("p1").innerHTML = words.uInVal)
有人可以帮我吗?
我的代码:
var words;
var input;
function setup() {
loadJSON("dictionary.json", gotData);
var button = select('#submit');
button.mousePressed(keyDraw);
input = select('#word');
}
function gotData(data){
words = data;
}
function keyDraw(){
document.getElementById("p1").innerHTML; //This is where the word definition should get printed
}
答案 0 :(得分:0)
将来,请尝试使用simpler example。这样的事情将在一个可运行的示例中显示您的问题:
var jsonString = '{"x": 42, "y":100}';
var jsonObject = JSON.parse(jsonString);
这也使您更容易使用。现在有了这个,我会用谷歌搜索“ javascript从属性名称中获取价值”来获取大量结果。
但是基本上,有两种获取属性值的方法:
var xOne = jsonObject.x;
var xTwo = jsonObject['x'];
console.log(xOne);
console.log(xTwo);
这就是您想要做的:
var varName = 'x';
var myX = jsonObject.varName;
这将不起作用,因为jsonObject
没有名为varName
的任何字段。相反,您要访问x
字段。为此,您可以使用方括号[]
表示法:
var myX = jsonObject['x'];