簡體   English   中英

如何遍歷由休息服務返回的javascript中的json數組?

[英]How to iterate through json array in javascript that was returned by a rest service?

我正在從休息服務取回數據,它看起來像這樣:

(17) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}]

這是獲取並打印它的代碼:

    $(document).ready(function() {
        $.getJSON("http://localhost:8080/springboot-crud-rest/api/v1/watchlist?name=My%20Portfolio", function(data) {
            watchlistIds = JSON.parse(JSON.stringify(data));
            console.log(watchlistIds);
        });
    });

我的目標是遍歷數組中的對象並輸出每個對象中的符號。 如果我打開第一個對象,它看起來像這樣:

0:
watchlistId:
name: "My Portfolio"
symbol: "ABR"
__proto__: Object
__proto__: Object

我曾多次嘗試使用不同的方法來遍歷對象,但沒有任何效果。 你可以在這里看到一些嘗試:

//                    $(watchlistIds).each(function(index,item) {
//                       watchlist = item[index];
//                       console.log(watchlist.symbol);
//                    })
//                    for (var i=0; i< watchlistIds.length; i++) {
//                        watchlistId = watchlistIds[i];
//                        console.log(watchlistId.symbol);
//                    }
                    symbols = JSON.parse(data);
                    console.log("symbols="+symbols);
//                    for (var i = 0; i < symbols.length; i++) {
//                        data = symbols[i];
//                        console.log("data="+data);
//                        console.log(data.watchlistId.symbol);
//                    }

他們都沒有工作。 未注釋的會產生以下錯誤:

VM136811:1 未捕獲的語法錯誤:JSON 中的意外標記 o 位於位置 1

你們中的一位專家能告訴我正確的方法嗎?

編輯:我也試過這個每個評論者:

        $.getJSON("http://localhost:8080/springboot-crud-rest/api/v1/watchlist?name=My%20Portfolio", function(data) {
            data.forEach(function(item){
                console.log(item.symbol);
            })
         });

但這次的輸出是:

不明確的

使用$.getJSON時根本不需要進行任何解析。

如果您只想查看每個符號,請嘗試

$.getJSON(url, function(data){
    // loop over array and log each one
    data.forEach(function(item){ console.log(item.watchlistId.symbol));
    //or to put in array of string values:
    const symbols = data.map(function(item){ return item.watchlistId.symbol})
    console.log(symbols)
})

如果您希望它們位於僅包含字符串值的數組中

暫無
暫無

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

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