Хотите добавить функциональность сериализации / десериализации JSON, верно? Тогда посмотрите на это:
Вы хотите добиться этого:
toJson () - обычный метод.
fromJson () - статический метод.
Осуществление
var Book = function (title, author, isbn, price, stock){
this.title = title;
this.author = author;
this.isbn = isbn;
this.price = price;
this.stock = stock;
this.toJson = function (){
return ("{" +
"\"title\":\"" + this.title + "\"," +
"\"author\":\"" + this.author + "\"," +
"\"isbn\":\"" + this.isbn + "\"," +
"\"price\":" + this.price + "," +
"\"stock\":" + this.stock +
"}");
};
};
Book.fromJson = function (json){
var obj = JSON.parse (json);
return new Book (obj.title, obj.author, obj.isbn, obj.price, obj.stock);
};
Использование
var book = new Book ("t", "a", "i", 10, 10);
var json = book.toJson ();
alert (json); //prints: {"title":"t","author":"a","isbn":"i","price":10,"stock":10}
var book = Book.fromJson (json);
alert (book.title); //prints: t
Примечание. При желании вы можете изменить все определения свойств, такие как this.title
, this.author
и т. Д., На var title
, var author
и т. Д. И добавить к ним методы получения, чтобы выполнить определение UML.