J'ai suivi XML:
'email' => NULL
3 Réponses :
Je ne peux pas ajouter de commentaire, mais je pense que cela fonctionnera pour vous, il devrait être plus rapide qu'une regex ou une boucle: un tableau vide dans JSON est représenté par "< Code> [] code> ". Parfois, les matrices sont analysées comme des objets, dans ce cas (ou comme une secousse), vous pouvez remplacer ": {} code>" aussi. P> p>
Donc, le résultat global de ce que je veux serait: json_decode (str_replace (': []', ': null', json_encode ($ array))) code> - sonne comme une bonne idée
Il devrait être "email": {} code> au lieu de
"email": [] code> mais de toute façon merci pour votre idée
le str_replace rapidement sur ~ 0.00001 secondes. La différence sera perceptible dans de nombreux appels p>
Un the Crédit: hakre p> p> Objet SimplexMlelement CODE>
sera cassette à un tableau vide. Vous pouvez modifier cela en s'étendant à partir de SimplexMlelement et implémenter le interface jsonserializable code>
et jeter un coup à simpplexml_load_string code> Pour renvoyer un objet de
JSONXMLElement CODE> Classe p>
Le problème est que
e-mail code> n'est pas NULL. C'est vide. Pour avoir null, le XML devrait être code>
@webnoob c'est vrai! :) Mais malheureusement, vous n'aurez toujours pas l'attendu
null code>
@ hek2mgl - ah ok, j'ai supposé que ce serait :(. Ok, une autre idée. Chargez le XML dans une chaîne, utilisez-la dans une ficelle, utilisez-la pour éteindre les étiquettes qui n'ont pas de valeurs, puis d'analyser. S'ils n'y sont pas là, Vous pouvez les traiter comme null.
@webnoob vous fera désordonner lorsque le XML grandit. Vous devrez également modifier la regex pour chaque format XML. Je pense actuellement à un analyseur Sax. Cela permettrait d'économiser le PO de Foreach Boucles dans PHP. La boucle serait effectuée en code C de l'extension. Aussi, il devrait être plus rapide que l'approche JSON_Decode / JSON_ENCODE
Hmm, bons points. Bien que je dois poser la question à la question de savoir pourquoi
null code> est si important. Pourquoi ne pas rechercher
"" code>. Pourrait même avoir une fonction d'assistance pour le faire pour vous ...
Les gars, merci pour le conseil avec - je vais le corriger. @webnoob: la valeur NULL est importante, car la couche PHP fait partie d'un projet plus gros, où nous communiquons à l'aide du protocole d'épargne et nous envoyons une demande à l'aide de tableaux. J'aimerais que la valeur nominale XML nul soit représentée comme PHP NULL à l'intérieur de la matrice imbriquée - ou quelque chose comme ça;)
@ Hek2MGL, j'ai bien peur que l'idée de l'analyseur saxe ne soit pas plus simple / plus claire que des tableaux d'itération dans la recherche.
@tkoomzaaskz J'ai testé à l'aide d'un analyseur SAX. J'ai utilisé le flux RSS de ce site i>. Il a fallu presque la même chose que l'approche JSON_DECODE (0,025 seconde) signifie que cela devrait être vraiment plus rapide que d'utiliser des produits. Mais cela doit être testé.