Получение конкретного значения из объекта JSON в массиве - PullRequest
0 голосов
/ 21 мая 2019

Получение конкретного объекта JSON в массиве. Там, где у меня есть две клавиши с одинаковыми именами, будет меняться их положение каждый раз, когда «имя» поля для машины может оказаться в другой позиции. Как получить только Redcar (Redcar не постоянен), если его позиция изменилась

{
    "links": [],
    "content": [
        {
          "name": "Redcar",
          "color":"red"
         },
        {
         "name":"Eric",
          "Age":"25"
       }
      ]
}

Ответы [ 3 ]

1 голос
/ 21 мая 2019

Использование Array.find()

let data = {
  "links": [],
  "content": [
      {
        "name": "Redcar",
        "color":"red"
      },
      {
       "name":"Eric",
       "Age":"25"
      }
   ]
}

let car = data.content.find(x => {return x.name == "Redcar"});

console.log(car);
0 голосов
/ 21 мая 2019

Неясно, что вы ищете.

Powershell

## Q:\Test\2019\05\21\SO_56242505.ps1
$Json = @"
{
    "links": [],
    "content": [
        {
          "name": "Redcar",
          "color":"red"
         },
        {
         "name":"Eric",
          "Age":"25"
       }
      ]
}
"@ | ConvertFrom-Json

$Json.content | Where-Object Name -eq 'Redcar'

Пример вывода

name   color
----   -----
Redcar red
0 голосов
/ 21 мая 2019

Если позиция может измениться, вам нужно искать в массиве с помощью .find ()

let theRedCar = array.content.find( item => item.name === "Redcar" )

// theRedCar = { name: 'Redcar', color: 'red' }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...