是否有像Xpath这样的工具可以将对象定位为对象?

问题描述 投票:0回答:1

我使用Xpath获取XML的某些元素。

是否有用于对象/哈希的类似工具?

我需要使用某种选择器来获取JSON对象的值,这需要足够灵活,因为此JSON的结构不一定总是相同的。

例如,xpath之类的东西应该是//data/children/*/title

对象有类似的东西吗?我不想将我的对象转换为XML,这会带来其他问题。

谢谢!

ruby xpath tree-traversal
1个回答
0
投票

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

在这种情况下,如果{title: 'Find me'}children键中,则Ruby检查数据结构并打印'ok'。

© www.soinside.com 2019 - 2024. All rights reserved.