NRS
(noe)
May 9, 2018, 11:10am
1
Hi all!
I been trying to find a way to store a json in a variable in a GET request, store it in a collection variable and use it in a POST request in a collection run.
So far, I been able to store it with no issues in the GET request, but having issues to post it correctly.
I tried using:
“{{MyJsonVar}}”, [{{MyJsonVar}}], ["{{MyJsonVar}}"], {{MyJsonVar}} and still no luck. Is there anything I’m missing? Any help would be greatly appreciated!
Cheers!
kunagpal
(Kunal Nagpal)
May 9, 2018, 11:14am
2
Hey @NRS , could you share more details on the exact structure of your requests and json value? Feel free to redact sensitive information
NRS
(noe)
May 9, 2018, 12:58pm
3
Yes of course! So the structure goes like this:
The GET request have this in the tests:
try{
// parse Json response object
let result = JSON.parse(responseBody);
let existingJobId = result.id;
let customFields = result.properties;
console.log('Original Job bag custom fields: ' + customFields);
let stringifiedCustomFields = JSON.stringify(customFields);
console.log('stringified custom fields: ' + stringifiedCustomFields);
// make sure we clean up any previous values.
pm.variables.unset("properties");
tests["Job Bag Exists"] = existingJobId !== null;
tests["Has custom fields"] = customFields !== null;
pm.variables.set("job_id", existingJobId);
pm.variables.set("properties", stringifiedCustomFields);
}catch(e){
console.log('Error parsing JSON: ' + e);
}
postman.setNextRequest('DuplicateJobBag');
Then in the POST body, I have this:
{
"CopyFromId": {{job_id}},
"Name": "{{next_job_name}}",
"CompletionDate": "02/02/2011",
"Properties": "{{properties}}"
}
properties is a variable in the collection and is the JSON i need to send in the duplicate request.
Sadly, is sending that as null.
Cheers!
@kunagpal I must say I’m a bit surprised what I see.
Have you marked @NRS 's description of a problem as a solution to the problem?
1 Like
hypo
(Guillaume Bertin)
January 17, 2022, 9:26am
5
@oskarkaminski.dev you’re right, @kunagpal where is the solution ?
I have the same issue. I need to passe an json object as variable.
My pre-request Scripts:
var billingAddress = {
"address": "('è`@&) 217 rue du loup billing",
"address2": "complement billing ('è`@&)",
"city": "XXX ('è`@&)",
"country": "FR",
"firstName": "XXXX billing ('è`@&)",
"lastName": "XXXX billing ('è`@&)",
"zipCode": "76000",
"company": "XXXX Inc billing ('è`@&)"
};
//pm.environment.set('billingAddress', JSON.stringify(billingAddress));
pm.variables.set('billingAddress', JSON.stringify(billingAddress));
My body request:
{
"orderId": {{$timestamp}},
"notified_url":"https://webhook.site/XXX-4ff8-a04d-XXX",
"billingAddress": "{{billingAddress}}",
...
}
I tried several syntaxes for get billingAddress but look as follow in my request:
{
“orderId”: 1642410931,
“notified_url”:“https://webhook.site/XXX-4ff8-a04d-XXX ”,
“billingAddress”: “{{billingAddress }}”,
…
}