1

I am using rest assured with Serenity BDD and using Groovy Gpath to navigate thru JSON. Now, I have a scenario like where I need to get the Cost values more than 2 with below JSON. is there any way to use a relative path to navigate using GPath with JSON.

{
"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"
    }
}

}

I have found that depthFirst() or ** and breadthFirst() or * traversal can be used with XML but it didn't work with JSON.

Can someone please throw light on this.. Thanks

Ravi
  • 13
  • 4

1 Answers1

1

It worked with below query,

collect{it.value.Specs}.findAll{it.Cost > '2.00'}.Cost
Dilan
  • 2,610
  • 7
  • 23
  • 33
Ravi
  • 26
  • 1