Ruby 有没有像Xpath这样的工具可以用来定位对象中的某些内容?
我使用Xpath获取XML的一些元素 是否有类似的对象/哈希工具 我需要使用某种选择器获取JSON对象的值,这需要足够灵活,因为JSON的结构并不总是相同的 例如,xpath应该是Ruby 有没有像Xpath这样的工具可以用来定位对象中的某些内容?,ruby,xpath,tree-traversal,Ruby,Xpath,Tree Traversal,我使用Xpath获取XML的一些元素 是否有类似的对象/哈希工具 我需要使用某种选择器获取JSON对象的值,这需要足够灵活,因为JSON的结构并不总是相同的 例如,xpath应该是//data/children/*/title 物体有类似的东西吗?我不想将我的对象转换为XML,这会带来其他问题 谢谢 Ruby 2.7引入了模式匹配,这可能会解决您的问题。例如: 数据={ 数据:{ 儿童:[ { 标题:“找到我” }, { 标题:“我错了” } ] } } 案例数据 在{data:{childre
//data/children/*/title
物体有类似的东西吗?我不想将我的对象转换为XML,这会带来其他问题
谢谢 Ruby 2.7引入了模式匹配,这可能会解决您的问题。例如:
数据={
数据:{
儿童:[
{
标题:“找到我”
},
{
标题:“我错了”
}
]
}
}
案例数据
在{data:{children:[{title:'Find me'},*rest]}中
放入“已找到”
其他的
放入“未找到”
结束
在本例中,如果{title:'Find me'}
位于子项中,Ruby将检查数据结构并打印“ok”。的可能重复项。有多种工具,但都没有xpath或css选择器。如果这是在后端(例如ruby可以访问JSON
),那么您可以将其转换为Hash
,并将hashie
添加为依赖项。此gem为Hash对象提供深度遍历方法,包括deep\u fetch
,deep\u find
和deep\u locate