簡體   English   中英

使用 JavaScript 代碼創建復雜的 JSON 對象

[英]Creating Complex JSON Object using JavaScript Code

我對 JSON 世界有點陌生。 我必須使用 JavaScript 來創建以下類型的 JSON 結構。 不知道如何實現這一目標。 嘗試使用以下代碼,但無法將第二個元素(“12101”)以及人員添加到 JSON 結構中,這是我苦苦掙扎的地方。

var chat = {};
chat = {"101":{}};
chat["101"].people= {};
chat["101"].people = {"L0b12leL-Ar9GYKoAAAC":{}};
chat["101"].people.L0b12leL-Ar9GYKoAAAC = {"name":"vikram@qech.com"};
chat["101"].room= {};

JSON結構實現

{
  "101": {
    "people": {
      "L0b12leL-Ar9GYKoAAAC": {
        "name": "vikram@qtech.com",
        "inroom": "f787f316-6424-491b-b779-cfc396f0f8a1",
        "owns": "f787f316-6424-491b-b779-cfc396f0f8a1",
        "countrycode": "in",
        "device": "desktop",
        "roomname": "R1"
      },
      "qKCglYWI1hRhZUZCAAAD": {
        "name": "Ishim",
        "inroom": "2e52905d-951c-4990-b9b7-2f3fc0602922",
        "owns": "2e52905d-951c-4990-b9b7-2f3fc0602922",
        "roomname": "Ra"
      }
    },
    "room": {
      "f787f316-6424-491b-b779-cfc396f0f8a1": {
        "name": "R1",
        "id": "f787f316-6424-491b-b779-cfc396f0f8a1",
        "owner": "L0b12leL-Ar9GYKoAAAC",
        "people": [
          "L0b12leL-Ar9GYKoAAAC"
        ],
        "status": "available"
      },
      "2e52905d-951c-4990-b9b7-2f3fc0602922": {
        "name": "Ra",
        "id": "2e52905d-951c-4990-b9b7-2f3fc0602922",
        "owner": "qKCglYWI1hRhZUZCAAAD",
        "people": [
          "qKCglYWI1hRhZUZCAAAD"
        ],
        "status": "available"
      }
    }
  },
  "12101": {
    "people": {
      "K-Ar9GYKoAAAC": {
        "name": "Rahul.com",
        "inroom": "f787f316-6424-491b-b779-cfc396f0f8a1",
        "owns": "f787f316-6424-491b-b779-cfc396f0f8a1",
        "countrycode": "in",
        "device": "desktop",
        "roomname": "R1"
      },
      "I1hRhZUZCAAAD": {
        "name": "Vipul",
        "inroom": "2e52905d-951c-4990-b9b7-2f3fc0602922",
        "owns": "2e52905d-951c-4990-b9b7-2f3fc0602922",
        "roomname": "Ra"
      }
    },
    "room": {
      "b779-cfc396f0f8a1": {
        "name": "Rahul-R1",
        "id": "f787f316-6424-491b-b779-cfc396f0f8a1",
        "owner": "L0b12leL-Ar9GYKoAAAC",
        "people": [
          "L0b12leL-Ar9GYKoAAAC"
        ],
        "status": "available"
      },
      "b9b7-2f3fc0602922": {
        "name": "Vipul-Room1",
        "id": "2e52905d-951c-4990-b9b7-2f3fc0602922",
        "owner": "qKCglYWI1hRhZUZCAAAD",
        "people": [
          "qKCglYWI1hRhZUZCAAAD"
        ],
        "status": "available"
      }
    }
  }
}

這是無效的,因為屬性名稱包含破折號。

chat["101"].people.L0b12leL-Ar9GYKoAAAC = {"name":"vikram@qech.com"};

要正確訪問它,請將其放在引號中

chat["101"].people["L0b12leL-Ar9GYKoAAAC"] = {"name":"vikram@qech.com"};

使用括號表示法作為屬性訪問器,如下所示:

chat["12101"].people = {};
chat["101"].people["L0b12leL-Ar9GYKoAAAC"] = {"name":"vikram@qech.com"};

有了它,這只是一件例行的工作。 它可能沒有立即起作用,因為點符號屬性訪問需要有效的標識符 name 使用括號表示法,您可以使用任何字符串,例如"L0b12leL-Ar9GYKoAAAC"

另請注意,在JSON 中,任何內容也可用作屬性名稱,只要將其放在引號中即可。 {"L0b12leL-Ar9GYKoAC":true}{"💖":true}一樣有效

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM