我正在构建一个字典单词定义搜索引擎,它有一个#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
}
将来,请尝试使用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'];