Unfortunately the data I'm receiving contains "@" symbols and the StringScanner utilization doesn't have a way of escaping special characters.
data =
{"colors"=>
[{"@r"=>255, "@g"=>0, "@b"=>0},
{"@r"=>0, "@g"=>255, "@b"=>0},
{"@r"=>0, "@g"=>0, "@b"=>255}]}
JsonPath.on(data, "$..\\@r")
# => []
# should be => [255, 0, 0]