繁体   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