Десериализовать / проанализировать объект со значением ключа для объекта без ключа в TypeScript - PullRequest
0 голосов
/ 08 апреля 2020

API, который я использую, возвращает объект JSON со следующей структурой карты. Я хочу разобрать объект так, чтобы индекс перешел от ключа к свойству объекта. Я попробовал несколько вещей, но сейчас я никуда не денусь. Проблема в том, что мне не удается назначить только записи объекта без ключа.

private parse(item: Item): Item {
  // parsing
  return parsedItem;
}

Элемент выглядит так:

{
  "0": {
    "prop1": "hello",
    "prob2": "test"
  }
}

Объект, который я хочу:

{
  "key": 0,
  "prop1": "hello",
  "prob2": "test"
}

Ответы [ 2 ]

1 голос
/ 09 апреля 2020

Используйте Object.keys (obj), чтобы получить ключи и используйте его соответственно.

function parse(item){
     item[Object.keys(item)[0]]["key"]=Object.keys(item)[0];
     return  item[Object.keys(item)[0]];
    }
let test1={
        "0": {
              "prop1": "hello",
              "prob2": "test"
             }
 };
console.log(parse(test1));
.as-console-wrapper { max-height: 100% !important; top: 0; }
0 голосов
/ 08 апреля 2020

давайте возьмем для примера это

let apiResponse = {
  "0": {
    "prop1": "hello",
    "prob2": "test"
  }
}

все, что вам нужно сделать, это

let keys = Object.keys(apiResponse)
let data = keys.map(key => ({
   key,
   ...apiResponse[key]
}))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...