We are a large user of Sterling B2Bi both BPs and Enveloping and historically we also have been for mapping as well. That said we have a lot of demand with the movement in the development space and even a few external facing areas toward JSON, as it offers 1) easier integration for JavaScript and even Java based teams 2) it has much of the benefits of XML without a lot of it's drawbacks, especially size with integrated with REST service calls 3) JSON schema has a lot of parallels to X12 and EDIFACT as B2B standard in it's support not just of the structure but of conditional based requirements.
To speak frankly Sterling Mapper is not an option if a business needs JSON support and ITX as a mapper is all but required. However, if all your envelope information is managed by Sterling and you need to run JSON and non-JSON data in parallel it is presently not possible to acomplish this using the traditional DocumentExtractService and X12Enveloper/EDIFACTEnvelope service combination. This is because JSON and XML have one common restriction, namely they both can only have one instance of a Root node or Element. For XML this would be whatever the initial XML node pair is but for JSON it's simply the initial curly bracket pair ({}). IBM has already identified this issue and provided a solution withing the DocumentExtractService once, namely the set of parameters that identify what element within the XML is related at a transactional level and then splits the XML and calls the transactional map instance accordingly.
(See **XMLRootTagForBatches**, XMLAccepterLookupAliasPath, XMLEDIEnvelopeStandard, XMLInput, XMLReceiverIDPath, XMLReceiverIDQualifierPath, XMLSenderIDPath, XMLAppReceiverIDPath, XMLAppSenderIDPath, XMLSenderIDQualifierPath, and for JSON you don't really need a XMLRootTag equivalent.)
If a similar set of references using JSONPath of equivalent was made available then a group of batched JSON would be passed in and enveloped in a similar manner to how XML is today.
(Note: The incident ticket below shows that even a clever ALA map for JSON doesn't work with an ITX JSON maps because the ITX map sees the closing JSON root tags and thinks it's done after just one transaction while the X12Envelope service is stuck waiting for the process to finish or timeout.)
We realize that translating each split as a differed enveloping does, work around, this issue at best but even here mixing of different inputs on differed causes a whole other set of issue, as does any attempt to use hardcoded global control numbers, so even 'differed' is an at present an imperfect solution. (Separate issue for these have been or are being opened.) Also this only happened to work out as we already had a need for using differed enveloping for 864 responses, a differed enveloping solutions should not become required just to do JSON within a Sterling B2Bi based workflow which will not be the case for any number of upcoming outbound documents we have coming down the pipieline.
JSON isn't going away and ever since offering it as an option it has been selected by all but one application team ever since and that once only fell back to a secondary solution as a matter of convenience not preference and we need a solid JSON support solution that doesn't require a hacked together temporary solution. This is one of two possible alternatives that might work for use I'll be opening a second IDEA to address the other.