簡體   English   中英

如何在JSON對象中訪問此嵌套數組?

[英]How can I access this nested array within my JSON object?

我正在使用PHP返回json_encode()數組,供我的Javascript代碼使用。 它被返回為:

{"parent1[]":["child1","child2","child2"],"parent2[]":["child1"]}

通過使用以下代碼,我可以訪問parent2 > child1

$.getJSON('myfile.php', function(data)
{
   for (var key in data)
   {
      alert(data[key]);
   }
}

但是,這不能讓我訪問child1, child2, childparent1parent1 child1, child2, child 單獨警告鍵顯示為“ parent1”,但是當我嘗試警告鍵的內容時,我不確定。

我想這會給我一個對象/數組? 如何訪問parent1的孩子?

數據[鍵] [0]?

返回的JSON應該是:

{"parent1":["child1","child2","child2"],"parent2":["child1"]}

那么您可以通過以下方式訪問它們:

var data = {"parent1":["child1","child2","child2"],"parent2":["child1"]}
alert(data['parent1'][0]);
alert(data['parent1'][1]);
alert(data['parent1'][2]);

您只需要在對象中迭代一個級別,因此只看到父對象是正確的。 您需要進入這些鍵才能找到子代。

// Generally, avoid the "foreach" form in JavaScript.
for (var i = 0; i < data.length; i++) {
  alert(data[i]); // Parent1[], Parent2[], etc

  var parent = data[i];

  for (var j = 0; j < parent.length; j++) {
    alert(parent[j]); // Child1, Child2, etc
  }
}

另外,Parent鍵的[]后綴也可以。 有效的JSON。

您可以按如下所示將其分配給變量:

var = data [key];

然后通過使用數組的大小獲取數組的內容。

希望有所幫助。

暫無
暫無

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

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