javascript - 测试 JSON 中的名称是否可用,如果不可用,则执行其他 JSON 请求

标签 javascript jquery json

我想知道测试 JSON 文件中是否存在名称的最佳方法是什么。如果名称不存在,则加载不同的 JSON 文件。我在测试该名称是否存在时没有遇到问题。当名称不存在时,我无法加载新的 JSON 文件。

在人们开始投票之前。我知道简单的 if else 不能以这种方式工作,但这就是我的问题。那么如何设置某种“if”“else”函数来测试名称是否存在?

假设我想测试“name”是否存在于“url1”的 JSON 文件中。

 $.getJSON(url1, function (json){ 

    var names = []; 

   if(json.hasOwnProperty('name')){

      // name is present in here so build some HTML

    } else {

      // name is not present in here so get a different JSON file and build other html
      $.getJSON(url2, function (json){

      }); 
    }
  });

这样做的问题是,当 url1 中的 JSON 中不存在“name”时,不会调用其他 JSON(来自 url2)。

为了澄清一些事情,我做了一个 fiddle

最佳答案

您可以使用并发性。

function JsonGetter(listOfJsonUrls, name, i) {
    $.getJSON(listOfJsonUrls[i], function (json) {
            if (json.hasOwnProperty(name)) {
                // name is present in here so build some HTML
            } else {
                JsonGetter(listOfJsonUrls, name, i + 1)
            });
    }
}

这样调用它:

JsonGetter(['url1','url2'], 'name', 0); 

关于javascript - 测试 JSON 中的名称是否可用,如果不可用,则执行其他 JSON 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24994158/

相关文章:

javascript - 返回数组中符合条件的项

javascript - JQuery 切换并删除多个 div 中的 css 类

ios - 加载注释时解包可选值时出现意外 fatal error

javascript - 使用 .select() 获取 Uncaught TypeError 将文本复制到剪贴板

jquery - 样式化 :visited links

javascript - 全屏 HTML5 视频进度条不拉伸(stretch)

c# - ASP.Net WebApi : return data in json and xml formats

json - 如何在R中解析奇怪格式的JSON

javascript - 是否可以通过编程方式捕获 JavaScript 语法错误?

javascript - 对javascript语言严格要求