Crear JSON

HMG en Español

Moderator: Rathinagiri

Post Reply
jparada
Posts: 300
Joined: Fri Jan 23, 2009 5:18 pm
Been thanked: 5 times

Crear JSON

Post by jparada »

Hola,

Estoy intentar crear una cadena json, estoy haciendo algo así:

Code: Select all

label_data := { "Mexlub", "Fleetguard", "Valvoline", "Bardahl", "Mexicana", "Taller" }

::hContent := { "chart" => "{", ;
                "type" => 'bar', ;
                "labels" => label_data ;
                } 

MsgInfo( hb_jsonEncode( ::hContent ) )
Esto me genera un contenido como esto:
img.png
img.png (3.15 KiB) Viewed 175 times
Pero lo que requiero es que la llave de chart esté sin comillas y también que no incluya la coma , no puedo utilizar strtran porque no quiero cambiar todo el contenido del json, sólo esa parte, en concreto necesito que quede de esta forma:
{"chart": {
"type":"bar","labels":["Mexlub","Fleetguard","Valvoline","Bardahl","Mexicana","Taller"]}

Alguna ayuda por favor.

Saludos,
Javier

edk
Posts: 548
Joined: Thu Oct 16, 2014 11:35 am
Location: Poland
Has thanked: 144 times
Been thanked: 476 times

Post by edk »

jparada wrote:
Mon Mar 23, 2020 3:35 pm
Hola,

Estoy intentar crear una cadena json, estoy haciendo algo así:

Code: Select all

label_data := { "Mexlub", "Fleetguard", "Valvoline", "Bardahl", "Mexicana", "Taller" }

::hContent := { "chart" => "{", ;
                "type" => 'bar', ;
                "labels" => label_data ;
                } 

MsgInfo( hb_jsonEncode( ::hContent ) )
Esto me genera un contenido como esto:
img.png

Pero lo que requiero es que la llave de chart esté sin comillas y también que no incluya la coma , no puedo utilizar strtran porque no quiero cambiar todo el contenido del json, sólo esa parte, en concreto necesito que quede de esta forma:
{"chart": {
"type":"bar","labels":["Mexlub","Fleetguard","Valvoline","Bardahl","Mexicana","Taller"]}

Alguna ayuda por favor.

Saludos,
Javier
All this methods do the same in correct way:

Code: Select all

label_data := { "Mexlub", "Fleetguard", "Valvoline", "Bardahl", "Mexicana", "Taller" }

//1
hContent := { "chart" => hb_Hash( "type", 'bar', "labels", label_data ) } 
MsgInfo( hb_jsonEncode( hContent ) )

//2
hChart := { "type" => 'bar', "labels" => label_data }
hContent := { "chart" => hChart } 
MsgInfo( hb_jsonEncode( hContent ) )

//3
hContent := { "chart" => { "type" => 'bar', "labels" => label_data } } 
MsgInfo( hb_jsonEncode( hContent ) )

jparada
Posts: 300
Joined: Fri Jan 23, 2009 5:18 pm
Been thanked: 5 times

Post by jparada »

Hi Edward,

Thanks for answering, let me try.

Regards,
Javier

Post Reply