Página 2 de 2 PrimerPrimer 1 2
Resultados 11 al 19 de 19

Tema: Código para recibir archivo json y leerlo

  1. #11
      Acabo de llegar...
    A

    Registrado
    enero de 2021
    Mensajes
    13
    Ciudad
    Buenos Aires

    Agradecimientos
     
    Recibidos
    0
    Enviados
    4

    Citaciones y menciones
     
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Poder de Reputación
    0

    Predeterminado Ayuda: parsear un Json en PowerCobol

    @fastpho, Hola, buenas tardes!, me podrás ayudar haciendo una prueba para ver si tenes el mismo error? (así descarto error humano). De los 4 campos que quiero recuperar solo me trae 2.

    COBOL Código:
    1. ENVIRONMENT     DIVISION.
    2.  DATA            DIVISION.
    3.  WORKING-STORAGE SECTION.
    4.  01 FILA                      PIC 9(8).
    5.  01 WFEC-AMD         PIC X(10).
    6.  01 TIMPTOT             PIC X(9).
    7.  01 WS.
    8.    02 WS-NRO             PIC X(7).
    9.    02 WS-NRO-ORD    REDEFINES WS-NRO PIC 9(7).
    10.    02 WS-ID                  PIC X(3).
    11.    02 WS-IDMPAGO    REDEFINES WS-ID  PIC 9(3).
    12.  01 WGET-VTA-FEC    PIC X(20) IS GLOBAL VALUE "C:\APi\APIRFech1.TXT".
    13.  PROCEDURE       DIVISION.
    14.  INICIO.
    15.      INVOKE ChilkatJsonObject1 "LoadFile" USING WGET-VTA-FEC RETURNING ReturnValue.
    16.      IF ReturnValue NOT = 1 THEN
    17.         INVOKE pow-self "DisplayMessage" USING "error"
    18.         EXIT PROGRAM
    19.      END-IF.
    20. *
    21.      INVOKE ChilkatJsonObject1 "SizeOfArray" USING "Objeto" RETURNING IndiceArray.
    22.      MOVE ZEROS TO FILA FI-LA.
    23.      PERFORM VARYING FILA FROM FILA BY 1 UNTIL FILA = IndiceArray OR FILA > 10
    24. *
    25.            MOVE SPACES TO ObJsolicitar
    26.            STRING "Objeto["     delimited by size
    27.                   FILA          delimited by size
    28.                   "]"           delimited by size
    29.                   "."           delimited by size
    30.                   "concretado"  delimited by size
    31.                   into ObJsolicitar
    32.            END-STRING
    33.            INVOKE ChilkatJsonObject1 "StringOf" USING ObJsolicitar RETURNING WFEC-AMD
    34. *
    35.            MOVE SPACES TO ObJsolicitar
    36.            STRING "Objeto["     delimited by size
    37.                   FILA          delimited by size
    38.                   "]"           delimited by size
    39.                   "."           delimited by size
    40.                   "idModoDePago" delimited by size
    41.                   into ObJsolicitar
    42.            END-STRING
    43.            INVOKE ChilkatJsonObject1 "StringOf" USING ObJsolicitar RETURNING WS-ID
    44. *
    45.            INITIALIZE TIMPTOT WS-NRO WS-ID WFEC-AMD
    46.            MOVE SPACES TO ObJsolicitar
    47.            STRING "Objeto["     delimited by size
    48.                   FILA          delimited by size
    49.                   "]"           delimited by size
    50.                   "."           delimited by size
    51.                   "idVenta"     delimited by size
    52.                   into ObJsolicitar
    53.            END-STRING
    54.            INVOKE ChilkatJsonObject1 "StringOf" USING ObJsolicitar  RETURNING WS-NRO
    55.  
    56.            MOVE SPACES TO ObJsolicitar
    57.            STRING "Objeto["     delimited by size
    58.                   FILA          delimited by size
    59.                   "]"           delimited by size
    60.                   "."           delimited by size
    61.                   "total"       delimited by size
    62.                   into ObJsolicitar
    63.            END-STRING
    64.            INVOKE ChilkatJsonObject1 "StringOf" USING ObJsolicitar RETURNING TIMPTOT
    65. *
    66.            DISPLAY WFEC-AMD " , " WS-ID " , " TIMPTOT " , " WS-NRO " , fila " fila
    67.      END-PERFORM.
    68.      EXIT PROGRAM.

    Si podes probar te lo voy a agradecer.
    Cualquier ayuda es bienvenida!!
    Saludos
    Ana
    Ficheros adjuntos Ficheros adjuntos

    0 Not allowed!

  2. #12
      Senior
    Avatar de fastpho

    Registrado
    diciembre de 2016
    Edad
    51
    Mensajes
    230
    Ciudad
    Mendoza

    Agradecimientos
     
    Recibidos
    148
    Enviados
    142

    Citaciones y menciones
     
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    4 Post(s)
    Poder de Reputación
    19
    Concurso: Primer puesto / Point Value: 0

    Predeterminado

    Hola @AHidalgo, corri tu ejemplo y el unico valor que no me da es el total , para que te lo lea te
    paso un ejemplo leyendo los dos primeros registros
    COBOL Código:
    1. INVOKE ChilkatJsonObject1 "StringOf" USING "Objeto[0].total.moneda" RETURNING string-total
    2.           display "total moneda :" , string-total
    3.           INVOKE ChilkatJsonObject1 "StringOf" USING "Objeto[0].total.valor" RETURNING string-total
    4.           display "total valor :" , string-total
    5.  
    6.           INVOKE ChilkatJsonObject1 "StringOf" USING "Objeto[0].total.idComercio" RETURNING string-total
    7.           display "total idComercio :" , string-total
    8.  
    9.           INVOKE ChilkatJsonObject1 "StringOf" USING "Objeto[1].total.moneda" RETURNING string-total
    10.           display "total moneda :" , string-total
    11.           INVOKE ChilkatJsonObject1 "StringOf" USING "Objeto[1].total.valor" RETURNING string-total
    12.           display "total valor :" , string-total
    13.  
    14.           INVOKE ChilkatJsonObject1 "StringOf" USING "Objeto[1].total.idComercio" RETURNING string-total
    15.           display "total idComercio :" , string-total
    de tu ejemplo la linea
    COBOL Código:
    1. INITIALIZE TIMPTOT WS-NRO WS-ID WFEC-AMD
    esta mal ubicada
    Saludos

    0 Not allowed!

  3. #13
      Acabo de llegar...
    A

    Registrado
    enero de 2021
    Mensajes
    13
    Ciudad
    Buenos Aires

    Agradecimientos
     
    Recibidos
    0
    Enviados
    4

    Citaciones y menciones
     
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Poder de Reputación
    0

    Predeterminado

    @fastpho, Gracias!!, también he comprobado ejecutar con un control un VBScript con el parseo y funciona bien, pero intentaba hacerlo en cobol puro.
    Saludos
    Ana

    0 Not allowed!

  4. #14
      Acabo de llegar...
    M

    Registrado
    junio de 2022
    Mensajes
    3
    Ciudad
    Barcelona

    Agradecimientos
     
    Recibidos
    1
    Enviados
    1

    Citaciones y menciones
     
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Poder de Reputación
    0

    Predeterminado

    Buenas en mi caso necesito crear un JsonArray y dentro los JsonObject i no encuentro ningun ejemplo... alguien sabe la manera de poder declarar un JsonArray en netcobol

    0 Not allowed!

  5. #15
      Senior
    J

    Registrado
    junio de 2016
    Edad
    56
    Mensajes
    281
    Ciudad
    Albacete

    Agradecimientos
     
    Recibidos
    182
    Enviados
    93

    Citaciones y menciones
     
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Poder de Reputación
    24
    Activista del Foro / Point Value: 0 Agradecimientos / Point Value: 0

    Predeterminado

    Por ejemplo, para rellenar una tabla (concretamente de postgresql) que tiene una clave y tres campos con array alfabetico de 13, 3 y 3 elementos tal como así:

    SQL Código:
    1. CREATE TABLE entidadejercicio.configuracion4 (
    2.     clave numeric(1,0) NOT NULL,
    3.     arqueo character varying(55) [13] NOT NULL,
    4.     pie character varying(55) [3] NOT NULL,
    5.     firma character varying(55) [3] NOT NULL
    6. );

    Lo relleno con este codigo, para despues realizar un INSERT en la base de datos:

    COBOL Código:
    1.            INITIALIZE msql
    2.              
    3.            STRING "INSERT INTO " delimited by size
    4.                     esquema delimited by " "
    5.                     "configuracion4    VALUES(0, '{" DELIMITED BY SIZE
    6.                  '"' delimited by size
    7.                  mun00-arqueo(1)
    8.                  '", "' delimited by size
    9.                  mun00-arqueo(2)
    10.                  '", "' delimited by size
    11.                  mun00-arqueo(3)
    12.                  '", "' delimited by size
    13.                  mun00-arqueo(4)
    14.                  '", "' delimited by size
    15.                  mun00-arqueo(5)
    16.                  '", "' delimited by size
    17.                  mun00-arqueo(6)
    18.                  '", "' delimited by size
    19.                  mun00-arqueo(7)
    20.                  '", "' delimited by size
    21.                  mun00-arqueo(8)
    22.                  '", "' delimited by size
    23.                  mun00-arqueo(9)
    24.                  '", "' delimited by size
    25.                  mun00-arqueo(10)
    26.                  '", "' delimited by size
    27.                  mun00-arqueo(11)
    28.                  '", "' delimited by size
    29.                  mun00-arqueo(12)
    30.                  '", "' delimited by size
    31.                  mun00-arqueo(13)
    32.                  '"}' delimited by size
    33.                  "'," delimited by size
    34.                  "'{" DELIMITED BY SIZE
    35.                  '"' delimited by size
    36.                  mun00-pie(1)
    37.                  '", "' delimited by size
    38.                  mun00-pie(2)
    39.                  '", "' delimited by size
    40.                  mun00-pie(3)
    41.                  '"}' delimited by size
    42.                  "'," delimited by size
    43.                  "'{" DELIMITED BY SIZE
    44.                  '"' delimited by size
    45.                  mun00-firmas(1)
    46.                  '", "' delimited by size
    47.                  mun00-firmas(2)
    48.                  '", "' delimited by size
    49.                  mun00-firmas(3)
    50.                  '"}' delimited by size
    51.                  "');" delimited by size
    52.                    INTO msql
    53.            perform insertar


    Básicamente el JSON generado es algo como así:


    Código:
    {
        "clave": 0,
        "arqueo": [
          "                                                       ",
          "                                                       ",
          "                                                       ",
          "                                                       ",
          "                                                       ",
          "                                                       ",
          "                                                       ",
          "                                                       ",
          "                                                       ",
          "                                                       ",
          "                                                       ",
          "                                                       ",
          "                                                       "
        ],
        "pie": [
          "                                                       ",
          "                                                       ",
          "                                                       "
        ],
        "firma": [
          "               EL PRESIDENTE                ",
          "               EL INTERVENTOR               ",
          "                EL TESORERO                 "
        ]
      }

    0 Not allowed!

  6. #16
      Senior
    Avatar de fastpho

    Registrado
    diciembre de 2016
    Edad
    51
    Mensajes
    230
    Ciudad
    Mendoza

    Agradecimientos
     
    Recibidos
    148
    Enviados
    142

    Citaciones y menciones
     
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    4 Post(s)
    Poder de Reputación
    19
    Concurso: Primer puesto / Point Value: 0

    Gadget Json

    Hola @Mane9mb, te paso un ejemplo en visual basic , no es muy dificil pasarlo a cobol
    usando el control ocx de chilkat
    VB Código:
    1. Dim jArray As New ChilkatJsonArray
    2. success = jArray.AddObjectAt(0)
    3. Dim json As ChilkatJsonObject
    4. Set json = jArray.ObjectAt(0)
    5.  
    6. success = json.UpdateString("groupId","")
    7. success = json.UpdateString("sku","")
    8. success = json.UpdateString("title","")
    9. success = json.UpdateString("barcode","")
    10. success = json.UpdateString("category","")
    11. success = json.UpdateString("description","")
    12. success = json.UpdateString("images[0]","url1")
    13. success = json.UpdateString("images[1]","url...")
    14. success = json.UpdateString("isbn","")
    15. success = json.UpdateString("link","")
    16. success = json.UpdateString("linkLomadee","")
    17. success = json.UpdateString("prices[0].type","")
    18. success = json.UpdateNumber("prices[0].price","0")
    19. success = json.UpdateNumber("prices[0].priceLomadee","0")
    20. success = json.UpdateNumber("prices[0].priceCpa","0")
    21. success = json.UpdateNumber("prices[0].installment","0")
    22. success = json.UpdateNumber("prices[0].installmentValue","0")
    23. success = json.UpdateString("productAttributes.""Atributo 1""","Valor 1")
    24. success = json.UpdateString("productAttributes.""Atributo ...""","Valor ...")
    25. success = json.UpdateString("technicalSpecification.""Especificação 1""","Valor")
    26. success = json.UpdateString("technicalSpecification.""Especificação ...""","Valor ...")
    27. success = json.UpdateNumber("quantity","0")
    28. success = json.UpdateNumber("sizeHeight","0")
    29. success = json.UpdateNumber("sizeLength","0")
    30. success = json.UpdateNumber("sizeWidth","0")
    31. success = json.UpdateNumber("weightValue","0")
    32. success = json.UpdateNumber("declaredPrice","0")
    33. success = json.UpdateNumber("handlingTimeDays","0")
    34. success = json.UpdateBool("marketplace",0)
    35. success = json.UpdateString("marketplaceName","")
    36.  
    37. jArray.EmitCompact = 0
    38. Debug.Print jArray.Emit()
    39.  
    40. ' The output of this program is:
    41.  
    42. ' [
    43. '   {
    44. '     "groupId": "",
    45. '     "sku": "",
    46. '     "title": "",
    47. '     "barcode": "",
    48. '     "category": "",
    49. '     "description": "",
    50. '     "images": [
    51. '       "url1",
    52. '       "url..."
    53. '     ],
    54. '     "isbn": "",
    55. '     "link": "",
    56. '     "linkLomadee": "",
    57. '     "prices": [
    58. '       {
    59. '         "type": "",
    60. '         "price": 0,
    61. '         "priceLomadee": 0,
    62. '         "priceCpa": 0,
    63. '         "installment": 0,
    64. '         "installmentValue": 0
    65. '       }
    66. '     ],
    67. '     "productAttributes": {
    68. '       "Atributo 1": "Valor 1",
    69. '       "Atributo ...": "Valor ..."
    70. '     },
    71. '     "technicalSpecification": {
    72. '       "Especificação 1": "Valor",
    73. '       "Especificação ...": "Valor ..."
    74. '     },
    75. '     "quantity": 0,
    76. '     "sizeHeight": 0,
    77. '     "sizeLength": 0,
    78. '     "sizeWidth": 0,
    79. '     "weightValue": 0,
    80. '     "declaredPrice": 0,
    81. '     "handlingTimeDays": 0,
    82. '     "marketplace": false,
    83. '     "marketplaceName": ""
    84. '   }
    85. ' ]
    Saludos ....

    0 Not allowed!

  7. #17
      Acabo de llegar...
    M

    Registrado
    junio de 2022
    Mensajes
    3
    Ciudad
    Barcelona

    Agradecimientos
     
    Recibidos
    1
    Enviados
    1

    Citaciones y menciones
     
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Poder de Reputación
    0

    Predeterminado

    Hola JCantero

    Entiendo, pero en este caso solo tengo que tractar JSON han comentado en este post sobre el ocx de Chillkat JsonObject que facilita a la hora de tractar objetos JsON pero que empiece como un Json Array no lo encontrado por eso si teneis un ejemplo os lo agradezco, lo que me muestras es para hacer un insert a la base de datos? no trabajo con base de datos en cobol todo se guarda en archivos...

    perdonadme es mi primer año que toco cobol ja que jo estoy encargado de la parte de lAPI @JCantero,

    COBOL Código:
    1. MOVE 0 TO "EmitCompact" OF ChilkatJsonArray1.
    COBOL Código:
    1. MOVE 0 TO "EmitCompact" OF ChilkatJsonObject2.
    COBOL Código:
    1. INVOKE ChilkatJsonArray1 "AddArrayAt" USING "customerStatus"               "Prospect"         RETURNING Success0.
    COBOL Código:
    1. INVOKE ChilkatJsonObject2 "AppendString" USING "customerType"             "Individual"         RETURNING Success1.

    0 Not allowed!

  8. #18
      Senior
    J

    Registrado
    junio de 2016
    Edad
    56
    Mensajes
    281
    Ciudad
    Albacete

    Agradecimientos
     
    Recibidos
    182
    Enviados
    93

    Citaciones y menciones
     
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Poder de Reputación
    24
    Activista del Foro / Point Value: 0 Agradecimientos / Point Value: 0

    Predeterminado

    Fuera del destino del uso del JSON, o de su generación, yo he puesto un ejemplo de uso para su mejor comprension.

    Quieres un ejemplo ?

    Tienes un ejemplo de JSON con array en mi post. Al final....

    Y @fastpho, tambien te ha puesto otro ejemplo de JSON con array al final de su post, lo que está en verde.

    0 Not allowed!

  9. #19
      Acabo de llegar...
    M

    Registrado
    junio de 2022
    Mensajes
    3
    Ciudad
    Barcelona

    Agradecimientos
     
    Recibidos
    1
    Enviados
    1

    Citaciones y menciones
     
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Poder de Reputación
    0

    Predeterminado

    @JCantero, Gracias por los ejemplos de verdad, pero lo que necesito es más como tractar esos objetos que define @fastpho, con el ocx que explica.

    No he querido ni mucho menos menospreciar tu ayuda perdon si mhe explicado mal

    Os lo agradezco mucho!

    ---------- Post añadido el 16 de junio de 2022 a las 14:17 ----------

    Gracias, por su ayuda en tu ejemplo he podido pasarlo a cobol i que funcione,
    COBOL Código:
    1. INVOKE ChilkatJsonArray1 "AddObjectCopyAt" USING jsonArray ChilkatJsonObject2
    con esta linea si ya tienes el json creado lo insertas dentro del array

    Un saludo!

    0 Not allowed!

Página 2 de 2 PrimerPrimer 1 2

Información de Tema

Usuarios Viendo este Tema

Actualmente hay 1 usuarios viendo este tema. (0 miembros y 1 visitantes)

Temas Similares

  1. [Información] JSON en Cobol...
    Por Fito en el foro PowerCOBOL (ActiveX, v4 - v11)
    Respuestas: 20
    Último Mensaje: 02.07.2021, 22:07
  2. [Compilador] Json & Powercobol
    Por Joseg en el foro PowerCOBOL (ActiveX, v4 - v11)
    Respuestas: 1
    Último Mensaje: 12.04.2021, 14:13
  3. [Componente] Generador código QR
    Por atncasiello en el foro PowerFORM
    Respuestas: 1
    Último Mensaje: 29.12.2020, 23:49
  4. [Componente] Imprimir código QR
    Por Armando en el foro PowerCOBOL (ActiveX, v4 - v11)
    Respuestas: 12
    Último Mensaje: 18.06.2019, 23:53
  5. [Sintaxis] Enviar y Recibir Mail
    Por fastpho en el foro PowerCOBOL (ActiveX, v4 - v11)
    Respuestas: 1
    Último Mensaje: 14.10.2017, 09:07

User Tag List

Etiquetas para este Tema

Permisos de Publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •