如何在json中使用Groovy Gpath获取相对路径?
How to get relative path using Groovy Gpath in json?
我放心使用 Serenity BDD,并使用 Groovy Gpath 导航通过 JSON。现在,我有一个场景,比如我需要在 JSON 以下获得大于 2 的成本值。有什么方法可以使用相对路径通过 JSON.
使用 GPath 进行导航
{
"Cadbury": {
"Specs": {
"Name": "5 Star",
"Cost": "2.99"
}
},
"Nestle": {
"Specs": {
"Name": "BarOne",
"Cost": "1.99"
}
},
"Arnotts": {
"Specs": {
"Name": "TimTam",
"Cost": "4.99"
}
},
"Milo": {
"Specs": {
"Name": "BarMilo",
"Cost": "3.99"
}
}
}
我发现 depthFirst()
或 ** 和 breadthFirst()
或 * 遍历可以与 XML 一起使用,但它不适用于 JSON。
有人可以解释一下吗..
谢谢
它适用于以下查询,
collect{it.value.Specs}.findAll{it.Cost > '2.00'}.Cost
我放心使用 Serenity BDD,并使用 Groovy Gpath 导航通过 JSON。现在,我有一个场景,比如我需要在 JSON 以下获得大于 2 的成本值。有什么方法可以使用相对路径通过 JSON.
使用 GPath 进行导航{
"Cadbury": {
"Specs": {
"Name": "5 Star",
"Cost": "2.99"
}
},
"Nestle": {
"Specs": {
"Name": "BarOne",
"Cost": "1.99"
}
},
"Arnotts": {
"Specs": {
"Name": "TimTam",
"Cost": "4.99"
}
},
"Milo": {
"Specs": {
"Name": "BarMilo",
"Cost": "3.99"
}
}
}
我发现 depthFirst()
或 ** 和 breadthFirst()
或 * 遍历可以与 XML 一起使用,但它不适用于 JSON。
有人可以解释一下吗.. 谢谢
它适用于以下查询,
collect{it.value.Specs}.findAll{it.Cost > '2.00'}.Cost