我从休息服务取回数据,它看起来像这样:
(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未捕获的SyntaxError:位置1的JSON中的意外令牌o
你们中的一位专家能告诉我正确的做法吗?
编辑:我也尝试每个评论者:
$.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)
})
如果希望它们仅包含字符串值的数组
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句