[RESOLU] trouver une valeur avec json_decode multidimensionnel

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] trouver une valeur avec json_decode multidimensionnel

Re: [RESOLU] trouver une valeur avec json_decode multidimen

par eckri » 25 sept. 2014, 22:15

merci

Re: trouver une valeur avec json_decode multidimensionnel

par moogli » 25 sept. 2014, 22:12

Modération :
Si ta question est résolue, pense à l'indiquer pour que les futures personnes qui voudront consulter ce sujet sachent qu'il contient une solution.
Tu peux réaliser cette opération toi-même en cliquant sur le bouton vert "Mettre le sujet en tant que Résolu" situé en haut de la page à côté du titre du sujet.

Re: trouver une valeur avec json_decode multidimensionnel

par eckri » 25 sept. 2014, 16:01

ha ! super
$s = unserialize ($s_text);
$s_result = $s[0]->characteristic_value;
merci beaucoup !!

Re: trouver une valeur avec json_decode multidimensionnel

par moogli » 25 sept. 2014, 14:37

salut,

c'est parce que ce n'est pas du json.

c'est un objet "sérialisé".
La sérialisation est un procédé courant pour la persistance d'information complexe.

ton problème ce règle simplement (j'ai découpé en plusieurs étape pour faire simple)
<?php
$x = 'a:2:{
   i:0;
   O:8:"stdClass":8:{
      s:25:"variant_characteristic_id";
      s:1:"2";
      s:18:"variant_product_id";
      s:3:"516";
      s:8:"ordering";
      s:1:"0";
      s:17:"characteristic_id";
      s:1:"2";
      s:24:"characteristic_parent_id";
      s:1:"3";
      s:20:"characteristic_value";
      s:6:"13.7 m";
      s:20:"characteristic_alias";
      s:0:"";
      s:23:"characteristic_ordering";
      s:1:"0";
   }
   s:10:"7m / 13.7m";
   s:6:"13.7 m";
}';

$a = preg_replace('/\n\s{0,}/','',$x);
echo $a.PHP_EOL.PHP_EOL;
$xx = unserialize($a);
var_dump($xx);
si les sauts de lignes, espaces du formatage ne sont pas en base seule l'utilisation de unserialize est utile :)

@+

Re: trouver une valeur avec json_decode multidimensionnel

par eckri » 25 sept. 2014, 14:26

Un test vite fait ici : http://json.parser.online.fr/
Erreur sur le a... Faudrait voir ce qui le génère...
c'est dans une table joomla , ca doit etre encore du fait maison

merci pour ton aide

Re: trouver une valeur avec json_decode multidimensionnel

par arnaud69 » 25 sept. 2014, 14:24

Un test vite fait ici : http://json.parser.online.fr/
Erreur sur le a... Faudrait voir ce qui le génère...

Re: trouver une valeur avec json_decode multidimensionnel

par eckri » 25 sept. 2014, 14:21

non c'est comme ca mais sans retour a la ligne

Code : Tout sélectionner

a:2:{i:0;O:8:"stdClass":8:{s:25:"variant_characteristic_id";s:1:"2";s:18:"variant_product_id";s:3:"516";s:8:"ordering";s:1:"0";s:17:"characteristic_id";s:1:"2";s:24:"characteristic_parent_id";s:1:"3";s:20:"characteristic_value";s:6:"13.7 m";s:20:"characteristic_alias";s:0:"";s:23:"characteristic_ordering";s:1:"0";}s:10:"7m / 13.7m";s:6:"13.7 m";}
je trouve le formatage bizarre pour du json

nos posts se sont croise

Re: trouver une valeur avec json_decode multidimensionnel

par arnaud69 » 25 sept. 2014, 14:20

Parce que en fait, ton json est pas valide en terme de formatage donc json_decode ne peut rien faire

Re: trouver une valeur avec json_decode multidimensionnel

par arnaud69 » 25 sept. 2014, 14:18

C'est exactement ce qu'il y a dans ton champ de table mysql ou tu as mis en forme ?

trouver une valeur avec json_decode multidimensionnel

par eckri » 25 sept. 2014, 13:03

Bonjour

(php5, json_decode, mysql)

dans une base de donnees mySql champ text j'ai ces valeurs

Code : Tout sélectionner

a:2:{ i:0; O:8:"stdClass":8:{ s:25:"variant_characteristic_id"; s:1:"2"; s:18:"variant_product_id"; s:3:"516"; s:8:"ordering"; s:1:"0"; s:17:"characteristic_id"; s:1:"2"; s:24:"characteristic_parent_id"; s:1:"3"; s:20:"characteristic_value"; s:6:"13.7 m"; s:20:"characteristic_alias"; s:0:""; s:23:"characteristic_ordering"; s:1:"0"; } s:10:"7m / 13.7m"; s:6:"13.7 m"; }
je n'arrive pas avec json_decode a recuperer la characteristic_value = 13.7 m

merci pour l'aide