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