Access API返回JSON数组

时间:2017-11-17 01:37:09

标签: javascript json

我正在使用Javascript通过API解码车辆VIN号码。返回的消息如下所示:

{Count: 116, Message: "Results returned successfully", SearchCriteria: "VIN(s): 60540kjhkjhkj5885", Results: Array(1)}

我需要知道如何在结果中访问返回的数组。

这是我目前的Javascript:

   // Decode VIN Number
function post_VIN_decode() {
    var vinNumber = $('#id_vin_number').val();
    console.log("VIN Decode Sent") // sanity check
    $.ajax({
        url : "https://vpic.nhtsa.dot.gov/api/vehicles/decodevinvalues/" + vinNumber + "?format=json", // the endpoint
        type : "GET", // http method

        // handle a successful response
        success : function(json) {
            console.log(json); // log the returned json to the console
        },

        // handle a non-successful response
        error : function(xhr,errmsg,err) {
            $('#results').html("<div class='alert-box alert radius' data-alert>Oops! We have encountered an error: "+errmsg+
                " <a href='#' class='close'>&times;</a></div>"); // add the error to the dom
            console.log(xhr.status + ": " + xhr.responseText); // provide a bit more info about the error to the console
        }
    });
};

$('#id_vin_number').keyup(function(e){
    if($("#id_vin_number").val().length >= 17){
        event.preventDefault();
        console.log("VIN Decode started")  // sanity check
        post_VIN_decode();
    }
});

感谢任何帮助。

2 个答案:

答案 0 :(得分:2)

在你的成功中尝试:

success : function(json) {
    console.log(json); // log the returned json to the console

    $.each(json.Results, function( index, value ) {
        console.log( index + ": " + value );
    });

    console.log("Or just the first index: " + json.Results[0]);
},

答案 1 :(得分:1)

如果您想遍历数组并对元素进行一些处理,那么Array#forEach就是您所需要的。

...

success: function(json) {
  json.Results.forEach(function(item, index) {
    console.log(item, index);
  });
},

...

请参阅我的回答中的链接,了解有关此功能和示例的更多信息。