将映射值转换为字符串

时间:2020-06-16 11:47:21

标签: java groovy hashmap httpresponse katalon-studio

我正在尝试将映射值转换为String。 我尝试了toString()方法,但它仍然返回Object而不是String

response = WS.sendRequest(findTestObject('api/test/TD-4_01_01-Valid'))

Map parsed = response.getHeaderFields()

String messageId = parsed.get('x-message-id').toString();

println messageId

实际输出:

[C5yZC5hcy5sb2NhbC0xMjgyNi05MzE1LTE=] 

预期输出:

C5yZC5hcy5sb2NhbC0xMjgyNi05MzE1LTE=

2 个答案:

答案 0 :(得分:4)

根据APIMapMap<String, List<String>>映射。这就是为什么要用方括号[]包装。

如果要访问此列表中的第一个元素,则应调用parsed.get('x-message-id').get(0)来访问索引为0的元素。

这是完整的解决方案:

response = WS.sendRequest(findTestObject('api/test/TD-4_01_01-Valid'))
Map parsed = response.getHeaderFields()
String messageId = parsed.get('x-message-id').get(0);
println messageId

答案 1 :(得分:3)

ResponseObject#getHeaderFields将Map个键的一个String返回到List个对象的String个对象,作为值。您只需要获取键List的{​​{1}}个对象中的String个,并且由于您希望它返回单个结果,因此可以找到任何结果。

x-message-id