JSON a ABAB conversión

Buen día.

Podrían orientarme.

Tengo el siguiente JSON

{
    "headers": {
        "total": 1
    },
    "content": [
        {
            "id": 10260,
            "status": "PENDING",
            "created": "2021-01-15 16:30:35",
            "shipping_cost": 0,
            "total": 361.000,
            "units": 6,
            "cancel_requested": false
        }
    ]
}

Quiero enviar a una estructura o tabla interna
Lo obtengo de esta manera
[{"HEADERS":{"TOTAL":1},"CONTENT":[{"ID":10260,"STATUS":"PENDING","CREATED":"2021-01-15 16:30:35","SHIPPING_COST":0,"TOTAL":361.000,"UNITS":6,"CANCEL_REQUESTED":FALSE}]}]

Esta es mi estructura

data : begin of ls_detorders,
            id                type string,
            status            type string,
            created           type string,
            shipping_cost     type string,
            total             type string,
            units             type string,
            cancel_requested  type string,
         end of ls_detorders.

  types ty_detorders like table of ls_detorders.

    data : begin of ls_totorder,
           total  type string,
         end of ls_totorder.

  types ty_totorders like table of ls_totorder.

  data : begin of ls_orders,
           headers  type ty_totorders,
           content   type ty_detorders,
         end of ls_orders .

  types ty_orders like table of ls_orders.

  data ls_orders_req type ty_orders.

CALL METHOD zcl_json_util=>json_to_data
EXPORTING
json = lv_xml_result_str
CHANGING
data = ls_orders_req .

y esto obtengo en el llenado
image

Pero la parte de la tabla interna HEADERS no se llena solo lo de CONTENT

image

A que se debe, pueden ayudarme.

De antemano muchas gracias.

Saludos.

Deberías de revisar internamente este método, ahí seguramente omite el HEADER.

Con la clase estandar es con la cual obtengo los resultados anteriores
SPAN { font-family: “Courier New”; font-size: 10pt; color: #000000; background: #FFFFFF; } .L0S52 { color: #0000FF; } .L0S55 { color: #800080; } .L0S70 { color: #808080; } cl_fdt_json=>json_to_data( EXPORTING iv_json = lv_xml_result_str
CHANGING ca_data = ls_orders_req ).

Con la que mencionen anteriormente marca error

Me llama la atencion que tiene la Z, por eso no creí que fuera estándar

Esta es la que utilice, solo que estaba probando con la Z tambien

Lo único que te puedo recomedar es que modifiques el JSON y solo dejes la parte de Header para ver si así la llena y si no, hacer un debug de la clase para averiguar por que no esta leyendo esa información.
Tambien se me acaba de ocurrir, creo que la seccion de Header no debe de ser una tabla, si no una estructura. Prueba dejandola como estructura y nos cuentas que paso.

Saludos

Ok gracias, lo voy a intentar.

Saludos.

Tal como comentaste @Alonso_mx

image

Cambie la declaración del tipo de estructura y ya rellena los datos.

Gracias por tu apoyo.

Saludos.

1 me gusta

Este tema se cerró automáticamente 7 días después de la última publicación. No se permiten nuevas respuestas.