[英]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.