簡體   English   中英

用對象循環遍歷json數組

[英]Loop through json array with objects

我有一個這種格式的數組:

var items = [{
        "link": {
            "0": "http://www.example.com/"
        },
        "title": {
            "0": "example"
        }
    }, {
        "link": {
            "0": "http://www.example2.com"
        },
        "title": {
            "0": "example2"
        }
    }]

我不知道如何遍歷它並以HTML顯示其值。

我正在使用jQuery,並嘗試使用每個循環:

$.each( items, function(i, item) {
        console.log(item); // Uncaught TypeError: Cannot use 'in' operator to search for '6271' in
    })

幫助表示贊賞。 謝謝!

編輯:

您的代碼在我上面發布的示例中有效。 我會接受asasp的。 但是我注意到,嘗試循環的真實json並非總是正確格式化,從而導致崩潰:

var items = [{
        "link": {
            "0": "http://www.example.com/"
        },
        "title": {
            "0": "example"
        }
    }, {
        "link": {
            "0": "http://www.example2.com"
        },
        "title": {
            "0": "example2: "
            some text here ""
        }
    }]

循環此數組時,我得到:

Uncaught SyntaxError: Unexpected identifier

有沒有辦法跳過所有“破碎”的物體?

快速又骯臟:

for (item of items) {
  console.log(item.link[0])
  console.log(item.title[0])
}

在這里你有一個解決方案

 var items = [{ "link": { "0": "http://www.example.com/" }, "title": { "0": "example" } }, { "link": { "0": "http://www.example2.com" }, "title": { "0": "example2" } }]; $.each( items, function(i, item) { $("body").append(`<span class="title">${item.title["0"]}:</span> <span>${item.link["0"]}</span><br/>`); }); 
 .title { font-weight: bold; font-size: 16px; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 

每個item都是一個對象,用於獲取我在解決方案中提供的鏈接值。

暫無
暫無

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

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