Задать вопрос
@Astral100498

Как преобразовать json в map?

Привет. У меня есть json c вложенной структурой
{
  "room": {
    "80-c4-48-84-79": " Federal research and production center ",
    "73-b3-49-af-9d": " dgru",
    "04-d2-45-86-6a": "Main",
    "d0-51-41-bf-4f": " Publications",
    "c5-3c-4d-83-4f": " news",
    "7d-ae-46-a0-25": "Contacts",
    "8f-01-4b-81-4e": "Certification center",
    "56-32-40-82-1a": "1959",
    "27-63-47-b9-1c": "2019",
    "a7-34-46-b8-38": " Moscow",
    "42-29-4c-bb-df": " text",
    "67-8b-47-b1-34": "example"
  }
}


как преобразовать его в Mаp?
Есть вот такой пример, но мне не удается его преобразовать под свой json
const personsJson = `{"1":{"firstName":"Jan","lastName":"Kowalski"},"2":{"firstName":"Justyna","lastName":"Kowalczyk"}}`;
const personsObject = JSON.parse(personsJson);
const personObjectEntries = Object.entries(personsObject);
const personObjectEntriesNumberKeys = personObjectEntries.map(person => {
    person[0] = parseInt(person[0]);
    return person;
});
const personsMap = new Map(personObjectEntriesNumberKeys);
for (const key of personsMap.keys()) {
    console.log(typeof key)
}

Буду благодарен за помощь
  • Вопрос задан
  • 1517 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
NeiroNx
@NeiroNx
Программист
a = {
  "room": {
    "80-c4-48-84-79": " Federal research and production center ",
    "73-b3-49-af-9d": " dgru",
    "04-d2-45-86-6a": "Main",
    "d0-51-41-bf-4f": " Publications",
    "c5-3c-4d-83-4f": " news",
    "7d-ae-46-a0-25": "Contacts",
    "8f-01-4b-81-4e": "Certification center",
    "56-32-40-82-1a": "1959",
    "27-63-47-b9-1c": "2019",
    "a7-34-46-b8-38": " Moscow",
    "42-29-4c-bb-df": " text",
    "67-8b-47-b1-34": "example"
  }
}
d = new Map(Object.keys(a.room).map(x=>[x, a.room[x]]))


либо пишите рекурсивную функцию если нужно пройтись по вложенным объектам:
var remap = x=>new Map(Object.keys(x).map(y=>[y,(typeof(x[y])=="object")?remap(x[y]):x[y]]))
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
18 дек. 2024, в 12:37
10000 руб./за проект
18 дек. 2024, в 12:22
5000 руб./за проект
18 дек. 2024, в 11:57
500 руб./в час