我使用Xpath获取XML的某些元素。
是否有用于对象/哈希的类似工具?
我需要使用某种选择器来获取JSON对象的值,这需要足够灵活,因为此JSON的结构不一定总是相同的。
例如,xpath之类的东西应该是//data/children/*/title
。
对象有类似的东西吗?我不想将我的对象转换为XML,这会带来其他问题。
谢谢!
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'。