Geri kalanı kullanarak duman testi yapıyorum ve beklenmedik hataların meydana gelmemesi için api'yi çaprazlamak istiyorum.RestAssured JsonPath: hiyerarşideki elemanların düz dizisi
{
...
"sites": [
{
...
"groups": [
{
...
"locations": [
{
...
"racks": [
{
"rackId": 123456789,
...
},
{
"rackId": 987654321,
...
},
...
]
}
]
}
]
},
{
...
"groups": [
{
...
"locations": [
{
...
"racks": [
{
"rackId": 11111111,
...
},
{
"rackId": 22222222,
...
},
...
]
}
]
}
]
},
...
]
}
JsonPath Sonra bu rackIds için bir sonraki istekleri çağırmak için tüm rackIds düz bir listesini almak çalışıyorum RestAssured gruplanacak kullanma:
ben şöyle bir veri yapısına sahip.
jsonPath.getList("sites.groups.locations.racks.rackId", Long.class);
>> java.lang.NumberFormatException: For input string: "[[[406071537, 406071538, 406071539, 406071540, 406071541]]]"
bu yolu kullanarak çalıştı, ama bu sözdizimi sadece diğer JsonPath uygulanması değil, ile birlikte bir çalıştığını düşünüyoruz çünkü işe yaramadı kalan güvenen şimdi indi
"$.sites[*].groups[*].locations[*].racks[*].rackId"
Buna, listeler listelerinin listesini listeler, sonra kendimi düzleştirebilirim. Ama sonra sorun var, varsayılan olarak Integers olarak yorumlanan sayılar, ama Uzun değerler alıyorum.
List list = jsonPath.getList("sites.groups.locations.racks.rackId");
Herhangi bir fikir?