[英]Create JavaScript objects with prototype functions from contents of JSON array
我有一個JSON結構;
{
books: [
{"id": "book1", "title": "Book One"},
{"id": "book2", "title": "Book Two"}
]
}
代表;
function BookList() {
this.books = new Array();
}
BookList.prototype.addBook = function(b) {
this.books[this.books.length] = b;
}
function Book(id, title) {
this.id = id || '';
this.title = title || '';
this.chapters = new Array();
}
Book.prototype.addChapter = function(c) {
this.chapters[this.chapters.length] = c;
}
在BookList中創建Book對象數組的最佳方法是什么?
使用jQuery,您可以僅使用$.parseJSON(jsonData).books
來分配BookList數組並自動具有屬性值,但不會使用原型函數創建所需的對象。
是遍歷JSON數組並單獨創建每個Book對象的唯一方法嗎? 這個問題涉及從JSON創建特定的原型對象:將JSON字符串解析為JavaScript中的特定對象原型 。
我認為這可以擴展到適用於具有正確迭代級別的BookList,並從那里適用於Book對象的章節。
使用$.parseJSON
初始分配后是否可以更改對象類型?
var json = {
books: [
{"id": "book1", "title": "Book One"},
{"id": "book2", "title": "Book Two"}
]
};
var list = new BookList();
list.books = json.books.map(convertToBook);
function convertToBook(book) {
return new Book(book.id, book.title);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.