#json #karate
#json #каратэ
Вопрос:
{
"id": "aghysfgagaw365",
"MetricLevelId": "4890718305",
"level": "BUB",
"type": "Mash",
"summary": {
"counts": [
{},
{
"label": {},
"value": 2674,
"labelLoc": {
"192706": {
"ADD": 8977,
"DEL": 3257,
"Count": 59
},
"543419": {
"ADD": 0,
"DEL": 0,
"Count": 1
}
}
}
]
}
}
Я прочитал документацию, но мне все еще неясно, как проверять сложные API, подобные этому. демонстрация для проверки этого API помогла бы мне решить другие проверки API … особенно у этого есть динамический ключ JSON.как мне проверить ADD, DEL и Cont, если «192706» является динамическим.
Ответ №1:
Из документации, пожалуйста, обратитесь к документации по JSONPath. Также рекомендуется раздел «Преобразования JSON». Вот один из способов:
* def response =
"""
{
"id": "aghysfgagaw365",
"MetricLevelId": "4890718305",
"level": "BUB",
"type": "Mash",
"summary": {
"counts": [
{
},
{
"value": 2674,
"labelLoc": {
"192706": {
"ADD": 8977,
"DEL": 3257,
"Count": 59
},
"543419": {
"ADD": 0,
"DEL": 0,
"Count": 1
}
}
}
]
}
}
"""
* def label = get[0] response..labelLoc
* def vals = get label.*
* match each vals == { ADD: '#number', DEL: '#number', Count: '#number' }
РЕДАКТИРОВАТЬ также это будет работать:
* json keys = label.keySet()
* match keys == ['192706', '543419']
Комментарии:
1. Это помогло бы мне, Томас. Спасибо!
2. ‘192706’, ‘543419’ не являются статическими, они будут меняться каждый час, но я надеюсь, что смогу использовать #number там.