JSON — захват информации дочернего узла без предпочтения (выбора) имени дочернего узла

#javascript #java #json #salesforce

#javascript #java #json #salesforce

Вопрос:

Я хочу реализовать логику для динамического захвата информации дочернего узла в структуре JSON, фактически не отдавая предпочтение самому дочернему узлу. Затем я объединю эту информацию в структуру массива. Например:

Текущее состояние:

 {
 "Data": {
   "Person1": {
      "FirstName" : "John",
      "LastName"  : "Doe,
    },
   "Person2": {
      "FirstName" : "Jane",
      "LastName"  : "Doe",
    }
}
 

Будущее состояние:

 {
 "Data": {
   [ 
    {
      "FirstName" : "John",
      "LastName"  : "Doe,
    },
    {
      "FirstName" : "Jane",
      "LastName"  : "Doe",
    }
   ]
}
 

Цель состоит в том, чтобы иметь логику, которая не предпочитала бы имя дочернего узла, такое как «Person1» или «Person2», поскольку в JSON может быть возвращено сто «Person [n-е число]». Любая помощь будет принята с благодарностью. В настоящее время я работаю с Javascript

Ответ №1:

Если я правильно понял ваш вопрос, вы хотели бы преобразовать внутренний объект в массив, потеряв ключи. Итак, вам нужны только значения объекта. Удивительно, что в js есть Object.values то, что именно это делает. например

 const data = {
 "Data": {
   "Person1": {
      "FirstName" : "John",
      "LastName"  : "Doe",
    },
   "Person2": {
      "FirstName" : "Jane",
      "LastName"  : "Doe",
    }
  }
};

data.Data = Object.values(data.Data);
 

Комментарии:

1. Это здорово, Золтан, но вы случайно не знаете логику, стоящую за этой функцией Object.values ?

2. Смотрите это на developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…