我正在與一些 JSON 作斗爭并遇到類似于以下情況的情況:
let build = '{"books": [{"title":"Something", "pages": 154, "illustrations":false},{"title":"Blabla", "pages": 356, "illustrations":true},{"title":"nope", "pages": 700, "illustrations":false}] }'
let books = JSON.parse(build);
console.log(books)
我找不到獲取此“書”物件內資料的方法。你能給我一些提示嗎?
uj5u.com熱心網友回復:
您提供的內容似乎有效,然后您可以訪問其中的資料,就像您在 javascript 中的文字物件中一樣:
let build = '{"books": [{"title":"Something", "pages": 154, "illustrations":false},{"title":"Blabla", "pages": 356, "illustrations":true},{"title":"nope", "pages": 700, "illustrations":false}] }'
let data = JSON.parse(build);
console.log(data.books[0].title)
我想你對你選擇的變數名感到困惑:JSON.parse不會自己去books鍵,因為可能有其他鍵
uj5u.com熱心網友回復:
書籍.書籍[0]
應該顯示下一個:{title: 'Something', pages: 154, illustration: false}
或者如果你愿意,你可以用下一種方式迭代
book.books.forEach (元素 => 控制臺.log(元素))
uj5u.com熱心網友回復:
只需使用.運算子來訪問屬性,使用陣列訪問運算子[]或某種迭代來訪問陣列元素。
const build = '{"books": [{"title":"Something", "pages": 154, "illustrations":false},{"title":"Blabla", "pages": 356, "illustrations":true},{"title":"nope", "pages": 700, "illustrations":false}] }'
// convert JSON to object
const data = JSON.parse(build);
// Pull out the 'books' property from the root level object
const books = data.books;
// see what it looks like
console.log(books);
// Define a function that will iterate the books and print some info about the book
const printAllTitles = (books) => {
books.forEach(book => {
console.log(`${book.title} is ${book.pages} pages long`)
})
}
// Call that function
printAllTitles(books);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/444157.html
