Существует ли такой инструмент, как Xpath, который бы работал для нацеливания чего-либо в объекте? - PullRequest
0 голосов
/ 13 марта 2020

Я использую Xpath для получения некоторых элементов XML.

. Есть ли подобный инструмент для объекта / га sh?

Мне нужно получить значение JSON объект, использующий некоторые виды селекторов, которые должны были бы быть достаточно гибкими, потому что этот JSON не всегда будет иметь одинаковую структуру.

Примерно так: xpath был бы, например, //data/children/*/title .

Есть ли что-то подобное для объектов? Я не хочу конвертировать свой объект в XML, это принесет другие проблемы.

Спасибо!

1 Ответ

0 голосов
/ 15 марта 2020

Ruby 2.7 введено сопоставление с образцом, которое может решить вашу проблему. Например:

data = {
  data: {
    children: [
      {
        title: 'Find me'
      },
      {
        title: 'I am wrong'
      }
    ]
  }
}

case data
  in {data: {children: [{title: 'Find me'}, *rest]}}
  puts 'found'
else
  puts 'not found'
end

В этом случае Ruby проверяет структуру данных и печатает 'ok', если {title: 'Find me'} находится в ключе children.

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