json_encode

Petit nouveau ! | 3 Messages

06 mars 2020, 11:28

Bonjour
Je débute en php et je souhaite générer un json de la structure suivante

{
"url" : "https://myapp.com/hubrise_callback",
"events": {
"order": ["create", "update"]
}
}

Avec

$avoir_callback = array(
'url' => 'https//ormeau.fr/hubrise_callback',
'events' => array('order','create'));
var_dump(json_encode($avoir_callback));

je n'obtiens que :

string(74) "{"url":"https\/\/ormeau.fr\/hubrise_callback","events":["order","create"]}"

D'avance merci

ynx
Eléphant du PHP | 289 Messages

06 mars 2020, 13:25

Salut,

Pour que le json généré soit indenté tu peux utiliser l'options JSON_PRETTY_PRINT en deuxième paramètre de la fonction json_encode. Pour ne pas échapper les caractères / tu peux aussi ajouter l'option JSON_UNESCAPED_SLASHES :

echo json_encode($avoir_callback, JSON_PRETTY_PRINT);
echo json_encode($avoir_callback, JSON_PRETTY_PRINT + JSON_UNESCAPED_SLASHES);

Bonne journée,

Petit nouveau ! | 3 Messages

06 mars 2020, 13:41

Merci mais c'est pas une question de look, j'arrive pas à générer correctement le champ "order".

Avatar du membre
Mammouth du PHP | 1174 Messages

06 mars 2020, 15:03

Salut, t'as oublié un bout...
$avoir_callback = array(
  'url' => 'https//ormeau.fr/hubrise_callback',
  'events' => array(
    'order' => array(
      'create', 
      'update'
    )
  )
);
var_dump(json_encode($avoir_callback));
J'édite souvent mon message après avoir répondu pour le corriger où y apporter des informations complémentaires alors n'hésitez pas à y jeter un nouveau coup d'oeil ^^

Petit nouveau ! | 3 Messages

06 mars 2020, 16:15

Great, Merci à vous deux