javascript - 为什么这个对 api 的调用不适用于 3 个字母的单词?

标签 javascript jquery json

所以每次我运行这个并且 arrayOfWords 有 3 个字母的单词时,这个函数不起作用,我不知道为什么。 JSON 对象看起来非常好,但它没有通过 if 语句。任何有关如何解决此问题的见解都将不胜感激。

  function createAdjectives() {
        var arrayOfWords = $('#inputTerms').val().split('\n');
        alert(arrayOfWords);
        for (var i = 0; i <= arrayOfWords.length-1; i++) {
            $.getJSON("http://words.bighugelabs.com/api/2/mykey/"+arrayOfWords[i]+"/json?callback=?",
            function(json) {
                if(json['adjective']['syn'])
                {
                    for (var i = 0; i < json['adjective']['syn'].length-1; i++) {
                        adjectiveArray.push(json['adjective']['syn'][i]);
                    }
                }
                if(json['adjective']['sim'])
                {
                    for (var i = 0; i < json['adjective']['sim'].length-1; i++) {
                        adjectiveArray.push(json['adjective']['sim'][i]);
                    }
                }
                alert("got here");
                if(json['noun']['syn'])
                {
                    for (var i = 0; i < json['noun']['syn'].length-1; i++) {
                        nounArray.push(json['noun']['syn'][i]);
                    }
                }
                if(json['noun']['sim'])
                {
                    for (var i = 0; i < json['noun']['sim'].length-1; i++) {
                        nounArray.push(json['noun']['sim'][i]);
                    }
                }
                alert(adjectiveArray);
                alert(nounArray);
            });
        }
    }

单词“run”的 JSON 对象

?({"noun":{"syn":["tally","test","trial","footrace","foot race","streak","running","running play","running game","rivulet","rill","runnel","streamlet","political campaign","campaign","ladder","ravel","discharge","outpouring","attempt","chronological sequence","chronological succession","damage","effort","endeavor","endeavour","flow","flowing","football play","harm","impairment","indefinite quantity","liberty","locomotion","period","period of time","race","score","sequence","stream","succession","successiveness","time period","travel","trip","try","watercourse"]},"verb":{"syn":["run","scat","scarper","turn tail","lam","run away","hightail it","bunk","head for the hills","take to the woods","escape","fly the coop","break away","go","pass","lead","extend","operate","flow","feed","course","function","work","range","campaign","play","tend","be given","lean","incline","prevail","persist","die hard","endure","execute","carry","guide","draw","black market","bleed","run for","consort","ply","hunt","hunt down","track down","race","move","melt","melt down","ladder","unravel","accompany","accomplish","action","apply","be","become","break","break up","bring home the bacon","broadcast","capture","carry out","carry through","catch","change","circularise","circularize","circulate","come apart","come through","compete","contend","continue","deliver the goods","diffuse","direct","disintegrate","disperse","displace","disseminate","dissolve","distribute","enforce","fall apart","fan out","free","fulfil","fulfill","get","go across","go away","go forth","go through","hurry","implement","incur","jaunt","last","leave","liberate","locomote","loose","make pass","merchandise","occur","pass around","process","propagate","release","resolve","sail","separate","speed","split up","spread","spread out","succeed","trade","travel","travel rapidly","treat","trip","unloose","unloosen","vie","win","zip"],"ant":["idle","malfunction"],"rel":["run away","extend to","flow from","pass around","pass over","run along","run around","run off","run over"]}});

最佳答案

在这种特殊情况下(这可能与您用 3 个字母的单词测试的所有时间相关,也可能不相关),看起来问题可能出在您试图访问 syn json 结果对象中的adjective 对象的属性,但是没有adjective 对象。

在尝试检查adjective 等中的 synsim 属性

关于javascript - 为什么这个对 api 的调用不适用于 3 个字母的单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17372249/

相关文章:

javascript - 将存储在本地主机上的 GeoJSON 文件加载到 google maps javascript sdk

javascript - 提交()函数不起作用

JavaScript 数组拼接

jquery - jPlayer 在 iOS iPhone 上无法正常工作

java - Json - JSONArray 无法转换为 JSONObject

python - 如何将 JSON 中的推文保存到 Python 3.4 中的 txt 文件?

javascript - 从 D3.js 轴中删除结束标记

javascript - jQuery Sortable - 在从列表中删除的项目上保留空白

c# - 在 MVC 方法中接收任意 JSON 对象

javascript - 如何从 View 中触发事件(自定义事件)并在 Ext JS 的 Controller 中处理它们?