To do this you would start from a COBOL fragment and use the usual LegStar COBOL to XSD translator and then generate transformers using LegStar COBOL Binding Generator.
Here is a sample JUnit code performing transformation from JSON to COBOL and vice versa:
package json.lsfileae.test; import java.io.StringWriter; import org.codehaus.jackson.map.AnnotationIntrospector; import org.codehaus.jackson.map.ObjectMapper; import org.codehaus.jackson.xc.JaxbAnnotationIntrospector; import com.legstar.coxb.host.HostData; import com.legstar.test.coxb.lsfileae.Dfhcommarea; import com.legstar.test.coxb.lsfileae.bind.DfhcommareaTransformers; import junit.framework.TestCase; /** * Unit test JSON/COBOL transformation. */ public class JacksonTest extends TestCase { /** Hex EBCDIC data orignating from mainframe. */ public static final String HOST_DATA = /*0 0 0 1 0 0 */ "f0f0f0f1f0f0" /* S . D . B O R M A N */ + "e24b40c44b40c2d6d9d4c1d54040404040404040" /* L A B A S S T R E E T */ + "e2e4d9d9c5e86b40c5d5c7d3c1d5c44040404040" /* 3 2 1 5 6 7 7 8 */ + "f3f2f1f5f6f7f7f8" /* 2 6 1 1 8 1 */ + "f2f640f1f140f8f1" /* $ 0 1 0 0 . 1 1 */ + "5bf0f1f0f04bf1f1" /* * * * * * * * * * */ + "5c5c5c5c5c5c5c5c5c" ; /** JSON serialization of the host data. */ public static final String JSON_DATA = "{\"comNumber\":100," + "\"comPersonal\":{\"comName\":\"S. D. BORMAN\"," + "\"comAddress\":\"SURREY, ENGLAND\"," + "\"comPhone\":\"32156778\"}," + "\"comDate\":\"26 11 81\"," + "\"comAmount\":\"$0100.11\"," + "\"comComment\":\"*********\"}"; /** Jackson mapper. */ private ObjectMapper _mapper; /** LegStar transformer. */ private DfhcommareaTransformers _transformer; public void setUp() { _mapper = new ObjectMapper(); AnnotationIntrospector introspector = new JaxbAnnotationIntrospector(); _mapper.getDeserializationConfig().setAnnotationIntrospector(introspector); _mapper.getSerializationConfig().setAnnotationIntrospector(introspector); _transformer = new DfhcommareaTransformers(); } /** * Transform host data to JSON and check * @throws Exception if transformation fails */ public void testHostToJson() throws Exception { StringWriter sw = new StringWriter(); _mapper.writeValue( sw, _transformer.toJava(HostData.toByteArray(HOST_DATA))); assertEquals(JSON_DATA, sw.toString()); } /** * Transform JSON to host data and check * @throws Exception if transformation fails */ public void testJsonToHost() throws Exception { Dfhcommarea dfhcommarea = _mapper.readValue(JSON_DATA, Dfhcommarea.class); byte[] hostData = _transformer.toHost(dfhcommarea); assertEquals(HOST_DATA, HostData.toHexString(hostData)); } }