I’m calling a REST API using an HTTP Request activity and deserializing the response into a JSON object (outerJSON).
Normally, based on tutorials and examples online, once I deserialize the HTTP response once, the JSON is already usable and I can directly access fields.
However, in my case, the response behaves differently.
When I print/log responseContent.TextContent (the raw output of the HTTP Request), the actual data I need is not a JSON object, but a JSON string stored inside a property called message.
Example of the deserialized output (outerJSON):
{
“message”: “{ "id": "922991", "key": "NP-20857", "fields": { "summary": "Sample text" } }”,
“level”: “Information”,
“timeStamp”: “14:19:47”
}
So the message field itself contains escaped JSON as a string, instead of being a nested JSON object.
This is what confuses me, because most tutorials show that after:
- HTTP Request
- Deserialize JSON
…the result is already a usable JSON structure.
In my case, the actual Jira response seems double-encoded / encapsulated inside the message field.
What I’ve Tried
I extract the message field safely like this:
innerJSONString = If(
outerJSON IsNot Nothing AndAlso
outerJSON.ContainsKey(“message”) AndAlso
outerJSON(“message”) IsNot Nothing,
outerJSON(“message”).ToString,
“”
)
However:
innerJSONStringlooks empty or cannot be deserialized- Trying to deserialize it again sometimes throws
Value cannot be null (Parameter 'JSON string')
or
Object reference not set to an instance of an object
Is this a case where the API response is double-encoded JSON? Do I need to deserialize the message field separately? What is the correct way to convert the message string into a usable JSON object so I can access fields like:
idkeyfields.summary





