01-07-2020 08:12 PM
Hi Team,
I am sending a invalid json payload from the postman to my pipeline.
The pipeline has first snap as Copy, when i checked the output of copy it has removed duplicated keys from the invalid json payload. My expectation was that it will throw error as i have sent invalid json.
Any thought on how can i fail the pipeline if the payload coming as invalid json into pipeline/snap?
Below was payload i sent to pipe from postman tool-
{
“www”: {
“station”: “3333”,
“station”: “22222”,
“station”: “44444”,
“dd”: 24224,
“dd1”: “34224”,
“dd2”: “sfsf”,
“dd3”: “dddsfsf”
}
}
The output of copy snap came as below(i wannt the snap to be failed as it was invalid json data)-
{
“www”: {
“station”: “44444”,
“scaleId”: “wrwr”,
“dd”: 24224,
“dd1”: “34224”,
“dd2”: “sfsf”,
“dd3”: “dddsfsf”
}
}
Thanks,
Kumar R
01-07-2020 10:47 PM
why are you using a copy snap to validate JSON? Copy will just simply give you multiple outputs, feed you input from postman to a JSON generator and it should fail validating the JSON.
01-07-2020 10:54 PM
Hi Anubhav,
Thanks for looking in this! I gave example of copy snap to show that it removes dup keys in invalid json.
As per your suggestion i tried using Json generator by having i/p view and template to snap as below-
[
{
“www” : $www
}
]
But Json generator also has removed dup key and provided output. I want this to be failed as i supplied invalid json from psotman. $www has dup key inside it as ‘station’
01-07-2020 11:01 PM
Hi,
Can you try JSON.parse() function in a mapper and give it a try.
01-07-2020 11:10 PM
The i/p feed itself was json so can’t use JSON.parse.
To use parse need to make it string first i.e JSON.parse(JSON.stringify($))
However JSON.stringify($) itself removing duplicate key.