簡體   English   中英

如何使用JavaScript從JSON數組獲取值?

[英]How to get values from json array using javascript?

我有一個PHP文件,該文件僅返回帶有驅動程序和URL的數組:

{"drivers":[{"marco":[0],"luigi":[123],"Joan":[2444],"George":[25]}, {"marco":[23],"luigi":[3],"Joan":[244],"George":[234]}],"url":"google.es"}

json的結構正確嗎? 我正在嘗試通過jQuery和AJAX來獲得結果:

$.getJSON('calculate.php&someparams=123', function(data) {
    alert("url - " + data.url);
    var arr = data.drivers;

    for (var i = 0; i < arr.length; i++) {
        alert(arr[i] + " - " + arr[i][0]);
    }
});

我看到第一個具有URL的alert(),但是第二個卻不起作用...我在做什么錯?

如果您需要更多信息,請告訴我,我將對其進行編輯。

drivers不是數組,而是對象,您可以使用$ .each遍歷對象元素。

$.getJSON('calculate.php&someparams=123', function(data) {
    $.each(data.drivers, function(key, value){
        $.each(value, function(key, value){
            console.log(key, value);
        });
    })
});

那是一個對象,而不是數組。 它具有命名屬性,而不是數字索引。

您需要一個for in循環來遍歷屬性。

drivers是一個對象。 不是數組。

這個怎么樣?

var json_string = '{"drivers":{"marco":[0],"luigi":[123],"Joan":[2444],"George":[25]},"url":"google.es"}';
var obj = jQuery.parseJSON(json_string);
alert(obj.url);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM