如何在JSON中编写if语句?

时间:2016-06-30 05:36:05

标签: arrays json

我不知道json,我有循环语句。我只需要单个数据,如何在JSON中编写if语句。请帮帮我,

function myFunction(response) {
        var arr = JSON.parse(response);
        var i;
        var out = "<table>";    
       for(i = 0; i < arr.length; i++) {
            out += "<tr><td> " +
            arr[i].offerPercentage +
            "</td><td>" +
            arr[i].offerName +      
            "</td></tr>";
        }enter code here
        out += "</table>";
        document.getElementById("id01").innerHTML = out;
    }

1 个答案:

答案 0 :(得分:-4)

修改 现在很清楚你想要什么,只需要循环一个项目,就可以改变迭代的次数 - 目前它会迭代整个数组,只迭代一次更改arr.length到{{1} (或者您要显示的项目数量很多):

1

或者您可以直接引用第一个结果并绕过循环,这将更有意义:

function myFunction(response) {
    var arr = JSON.parse(response);
    var i;
    var out = "<table>";    

    for(i = 0; i < 1; i++) {
        out += "<tr><td> " +
        arr[0].offerPercentage +
        "</td><td>" +
        arr[0].offerName +      
        "</td></tr>";
    }

    out += "</table>";
    document.getElementById("id01").innerHTML = out;
}

旧答案: Javascript中的对象没有function myFunction(response) { var arr = JSON.parse(response); var i; var out = "<table>"; // Only append if `arr` has at least one result. if (typeof arr[0] !== 'undefined') { out += "<tr><td> " + arr[0].offerPercentage + "</td><td>" + arr[0].offerName + "</td></tr>"; } out += "</table>"; document.getElementById("id01").innerHTML = out; } 属性。

要循环对象,请使用for...in语法:

.length

如果返回的内容 实际上是一个数组,那么您的问题不是您的语法,而是您在每个循环中使用for (var offer in arr) { // `offer.offerPercentage` and `offer.offerName` will be available here. } 而不是arr[0]