首頁 > web前端 > js教程 > 主體

如何在 JavaScript 中將普通 JSON 物件轉換為類別實例?

Patricia Arquette
發布: 2024-10-18 12:25:30
原創
603 人瀏覽過

How to Convert Plain JSON Objects into Class Instances in JavaScript?

在JavaScript 中將普通物件轉換為類別實例

在JavaScript 中,當從伺服器接收普通物件作為JSON 回應時,您可能會遇到需要將它們轉換為類型化的類別實例。這允許您存取特定於類別的方法和屬性。

解決方案:

一種方法是建立一個建構函數,該構造函數接受任何類似於實例的物件並複製它。或者,您可以實現將物件轉換為實例的靜態方法:

<code class="javascript">Person.fromJSON = function(obj) {
    // Custom code to create an instance from the object
    return ...;
};</code>
登入後複製

對於您的特定場景,如果您有具有公共屬性的普通對象,您可以使用以下方法:

<code class="javascript">var personInstance = new Person();
for (var prop in personLiteral) {
    personInstance[prop] = personLiteral[prop];
}</code>
登入後複製

這會將普通物件的所有屬性指派給新建立的實例。同樣,您可以建立 Animal 實例。

注意:

  • JSON 不提供類信息,因此您必須事先了解物件結構。
  • 建議將 run 方法移至 Animal.prototype 對象,而不是將其保留在每個實例上。

範例程式碼:

<code class="javascript">var persons = JSON.parse(serverResponse);
for (var i = 0; i < persons.length; i++) {
    persons[i] = Object.assign(new Person(), persons[i]); // Use Object.assign for browsers that support it
    for (var j = 0; j < persons[i].animals; j++) {
        persons[i].animals[j] = Object.assign(new Animal(), persons[i].animals[j]);
    }
}</code>
登入後複製

此程式碼將使您能夠使用特定於類別的方法,例如Persons[0].Animals[2] .Run();.

以上是如何在 JavaScript 中將普通 JSON 物件轉換為類別實例?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板