temp-user
temp-user

Reputation: 5

Map empty string in destination schema Biztalk 2016 to JSON

Sometimes some elements in the source schema does not have any data and these elements appear in a self closing tag like

<element/>

And in the destination schema the mapped element is present with a self closing tag, but when the XML gets converted into JSON by using JSON encoder that comes with BizTalk, all the elements with self closing tag gets a value like

"element":null

Instead I want this element to does not contain any value not even null, because the destination system can't handle it. There is anyway by which I can stop these null getting added in the elements that do not contain any data?.

P.S: It is a simple one to one mapping.

Tried using scripting functoid to pass empty quotes, but this is also getting converted into null in JSON

Upvotes: 0

Views: 120

Answers (1)

Dijkgraaf
Dijkgraaf

Reputation: 11527

See REST JSON Christmas Puzzle – Work around

Essentially the solution is a Pipeline Component to replace the Null with an empty string.

I also blogged about it in BizTalk 2013 R2 known bugs, issues & quirks

ISSUE: THE BIZTALK JSON ENCODER CHANGES BLANKS IN XML TO NULL IN JSON

Details: If you use the JSON Encoder and have a element that is empty, it becomes a null in the JSON payload.

More Details: REST JSON Christmas Puzzle

Work Around: Use the BRE Pipeline and do a Replace the string “: null in the message body with the string “:”” (initial concept from REST JSON Christmas Puzzle – Work around).

Note: The above work around has an unintended side effect that it causes a BOM to be added. This may cause issues with some systems.

Upvotes: 0

Related Questions