Как обратиться к конкретному объекту JSON - PullRequest
0 голосов
/ 15 мая 2019

Я звоню в REST-API и получаю список людей в формате JSON. Как мне просто сослаться на один конкретный объект, например "Адам"?

Я звоню через Node.js и хочу передать объект Javascript другой функции.

Я использую:

request('rest-api-URL', function (error, response, body) {
  if (!error && response.statusCode == 200) {
    console.log(response.body);    // Prints the JSON object
    var object = JSON.parse(body);
    console.log(Object.keys(name)[0]);
  }

Может быть, моя проблема в том, что я не могу четко выразить свой вопрос (и не могу найти никакой информации)

Это JSON:

"persons": [
        {
            "name": "Adam",
            "age": "20",
        },
               {
            "name": "Bob",
            "age": "21",
        },        {
            "name": "Christy",
            "age": "22",
        }    
]
}

Ответы [ 3 ]

0 голосов
/ 15 мая 2019

Вы можете использовать функцию JavaScript filter ():

array.filter(entry => entry.name == 'Adam')[0]

Функция filter () будет возвращать массив совпадающих объектов, отсюда [0] в конце, поскольку она возвратит массив с одним объектом.

0 голосов
/ 15 мая 2019

Вы можете попытаться использовать находку

var person = array.find(data => data.name === 'Adam');
0 голосов
/ 15 мая 2019

Если я правильно понял ваш вопрос, вы хотите выбрать объект, основанный на свойстве name.

Учитывая массив persons, вы можете фильтровать объект по имени, например:

function select(objects, name) {
  return objects.filter(obj => obj.name === name)[0];
}

const adamObject = select(persons, 'Adam');

В качестве альтернативы вы можете использовать фильтр Лодаша https://lodash.com/docs/#filter

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...