diff --git a/impl/model/src/main/java/io/serverlessworkflow/impl/model/jackson/JacksonModel.java b/impl/model/src/main/java/io/serverlessworkflow/impl/model/jackson/JacksonModel.java index 5a91c5db..91e59116 100644 --- a/impl/model/src/main/java/io/serverlessworkflow/impl/model/jackson/JacksonModel.java +++ b/impl/model/src/main/java/io/serverlessworkflow/impl/model/jackson/JacksonModel.java @@ -55,7 +55,7 @@ public Collection asCollection() { @Override public Optional asText() { - return node.isTextual() ? Optional.of(node.asText()) : Optional.empty(); + return node.isTextual() ? Optional.of(node.asText()) : Optional.of(node.toString()); } @Override diff --git a/impl/model/src/main/java/io/serverlessworkflow/impl/model/jackson/JacksonModelFactory.java b/impl/model/src/main/java/io/serverlessworkflow/impl/model/jackson/JacksonModelFactory.java index 81020761..8b01935e 100644 --- a/impl/model/src/main/java/io/serverlessworkflow/impl/model/jackson/JacksonModelFactory.java +++ b/impl/model/src/main/java/io/serverlessworkflow/impl/model/jackson/JacksonModelFactory.java @@ -15,6 +15,7 @@ */ package io.serverlessworkflow.impl.model.jackson; +import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.node.DoubleNode; import com.fasterxml.jackson.databind.node.FloatNode; @@ -86,7 +87,11 @@ public WorkflowModel from(Number number) { @Override public WorkflowModel from(String value) { - return new JacksonModel(new TextNode(value)); + try { + return new JacksonModel(JsonUtils.mapper().readTree(value)); + } catch (JsonProcessingException ex) { + return new JacksonModel(new TextNode(value)); + } } @Override