Hi
When I am trying to json parse to String using ‘JsonSlurper’ getting can not cast object exception. Help me how parse below json as a string.
json:
[{
“contractId” : “CW12885”,
“contractStatus” : “Published”,
“version” : 7,
“displayVersion” : “v7”,
“warnings” : null
}]
Script:
File file = new File(“/Users/i339884/Downloads/file”)
String text = FileUtils.readFileToString(file)
println text
**JsonSlurper slurper = new JsonSlurper()**
Map parsedJson = slurper.parseText(text)
Exception:
2022-10-27 20:02:00.737 ERROR c.k.katalon.core.main.TestCaseExecutor - Test Cases/New/OpenAPI/PublishContractWorkspace/PublishCW FAILED.
Reason:
org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object ‘[{contractId=CW12885, contractStatus=Published, version=7, displayVersion=v7, warnings=null}]’ with class ‘java.util.ArrayList’ to class ‘java.util.Map’ due to: groovy.lang.GroovyRuntimeException: Could not find matching constructor for: java.util.Map(groovy.json.internal.LazyMap)
at PublishCW.run(PublishCW:221)
at com.kms.katalon.core.main.ScriptEngine.run(ScriptEngine.java:194)
at com.kms.katalon.core.main.ScriptEngine.runScriptAsRawText(ScriptEngine.java:119)
at com.kms.katalon.core.main.TestCaseExecutor.runScript(TestCaseExecutor.java:445)
at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:436)
at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:415)
at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:407)
at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:284)
at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:142)
at com.kms.katalon.core.main.TestCaseMain$runTestCase$0.call(Unknown Source)
at TempTestCase1666881080250.run(TempTestCase1666881080250.groovy:25)
I need to parse above json array to string.