将映射值转换为字符串

问题描述 投票:0回答:2

我正在尝试将映射值转换为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=
java groovy hashmap httpresponse katalon-studio
2个回答
-1
投票

MapMap<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

-2
投票

response.getHeaderFields类型为Map<String, List<String>>因此,您使用

String messageId = parsed.get('x-message-id')[0]
© www.soinside.com 2019 - 2024. All rights reserved.