2012-12-03 2 views
-2

J'ai une chaîne, plus particulièrement, celui-ci (?):Parse une chaîne JSON en utilisant php

a:16:{s:9:"pseudonym";O:16:"SimpleXMLElement":0:{}s:14:"parallel_title";O:16:"SimpleXMLElement":0:{}s:9:"title_var";O:16:"SimpleXMLElement":0:{}s:6:"series";O:16:"SimpleXMLElement":0:{}s:9:"vol_title";O:16:"SimpleXMLElement":0:{}s:9:"reference";O:16:"SimpleXMLElement":0:{}s:10:"bound_with";O:16:"SimpleXMLElement":0:{}s:15:"general_remarks";O:16:"SimpleXMLElement":0:{}s:6:"copies";O:16:"SimpleXMLElement":1:{i:0;s:1:"1";}s:11:"remarks_BPH";O:16:"SimpleXMLElement":0:{}s:3:"ICN";O:16:"SimpleXMLElement":1:{i:0;s:4:"neen";}s:10:"provenance";O:16:"SimpleXMLElement":0:{}s:7:"binding";O:16:"SimpleXMLElement":0:{}s:10:"size_hxwxd";O:16:"SimpleXMLElement":0:{}s:6:"BookID";O:16:"SimpleXMLElement":1:{i:0;s:4:"6271";}s:5:"repro";O:16:"SimpleXMLElement":0:{}} 

Est-il possible de parser cette chaîne en quelque sorte? J'ai besoin d'afficher les clés et les valeurs dans une liste. J'ai essayé d'utiliser json_decode mais il ne retourne rien, même avec le second jeu de paramètres true:

json_decode($string,true); 
+0

Je ne sais pas ce que vous arrêté de faire 2 secondes recherche google ... – Neal

+0

Cela ne ressemble pas à JSON pour moi ... – Samuel

Répondre

7

Ce n'est pas JSON, il est PHP sérialisé. Utilisez unserialize().

+0

Ha ! Cela est vrai^_^ – Neal

+0

Oui, cela pourrait être le truc mais j'ai essayé d'utiliser la fonction unserialize, j'ai eu plusieurs erreurs php: Attention: unserialize(): Noeud n'existe plus dans ... file.php à la ligne 39 et il ne cesse de répéter. – passatgt

+0

@passatgt Ce n'est pas un truc. Il est en série PHP. Et un SimpleXmlElement ne peut pas être non sérialisé, voir cette réponse: http://stackoverflow.com/a/5264628/1229260 – Tchoupi