Hola Rui:
Sé que se puede hacer con cobol, el tema es el tiempo. Hacer y probar una rutina para interpretar el JSON me va a llevar mucho tiempo, que no tengo. Hay que tener en cuenta niveles, arrays y todas esas cosas. Cuando otros lenguajes lo tienen solucionado de manera sencilla.
En windev, por medio de una función (JSONtoVariant()) lo pasas a un array tipo variant y después con bucles anidados vas sacando todo. Por eso hice un exe en windev, que me lea el JOSN que lo grabo en un archivo, lo proceso y lo meto en otro archivo ya con el formato tipo tabla para leerlo desde cobol, trabajarlo así tipo batch.
Te pego un ejemplo (esto es una pequeña prueba, tengo que desarrollarlo para darle formato de tabla al txt de salida).
Código WinDev:
VP is Variant = JSONToVariant(sJson)
FileId = fCreate("d:\yeison\verpedidos.txt",foReadWrite)
FOR EACH m OF VP..Member
LineRead = m..Name
fWriteLine(FileId, LineRead)
FOR EACH m2 OF m..Member
LineRead = " --1-- " + m2..Name
fWriteLine(FileId, LineRead)
IF m2..Name = "cabecera" THEN
FOR EACH m3 OF m2..Member
LineRead = " --2-- "+m3..Name +":"+ m3..Value
fWriteLine(FileId, LineRead)
END
ELSE
FOR i = 1 TO m2..Occurrence
FOR EACH m3 OF m2[i]..Member
LineRead = " --3-- "+m3..Name +":"+ m3..Value
fWriteLine(FileId, LineRead)
END
END
END
END
END
fClose(FileId)
Muchas gracias por los aportes. Sigo probando y cuando tenga todo listo posteo el resultado.
Saludos.
Fito...