2014-05-20 4 views
1

J'ai une table avec un champ de texte. J'ai reçu la chaîne ci-dessous:comment enregistrer la chaîne json dans un champ mysql

"valeur": "{\" airwayBills \ ": [\" 84498761 \ "], \" dockets \ ": [\" 1652395 \ "], \" erreur \ ": false, \ "muditaError \": [{\ "actionType \": \ "docket \", \ "docketNo \": \ "1652395 \", \ "errorMessage \": \ "Aucune erreur \", \ " pieceList \ ": null, \" quantity \ ": \" 1 \ "}], \" muditaManifestExtra \ ": \" Inconnu \ ", \" thingDetails \ ": [{\" airline \ ": \" Inconnu \ ", \" bookingDate \ ": \" 19-05-2014 13: 03: 15 + 0530 \ ", \" currentPiecesDelivered \ ": \" 0 \ ", \" currentPiecesManifested \ ": \" 1 \ ", \ "destination \": \ "GOI \", \ "vol \": \ "Inconnu \", \ "dansScannedPieces \": [], \ "locationId \": \ "MUDDELHUB1 \", \ "mode \": \ "Air \", \ "nombre \": \ "1652395 \", \ "ordinality \": \ "0 \", \ "origine \": \ "DEL \", \ "outScannedPieces \": [] , \ "quantité \": \ "1 \", \ "destinataireEmailId \": \ "Inconnu \", \ "serviceProvider \": \ "Inconnu \", \ "expéditeur \": \ "Vector E Commerce Pvt. Ltd "\", \ "thingType \": \ "docket \", \ "totPiecesManifested \": \ "1 \", \ "totalPiecesDelivered \": \ "0 \", \ "weight \": \ "11 \ "}]" ",

Cette valeur est stockée correctement dans un champ de la table, mais lorsque j'essaie de récupérer cette valeur et de l'enregistrer dans un autre champ d'une autre table, certaines valeurs comme" airwayBills \ " : [\ "84498761 \"] sont stockés sous la forme "airwayBills \": ["0"], ce qui provoque la perte de données. Il y a un autre comportement étrange que cela se passe au hasard avec seulement certains des enregistrements. Certains enregistrements sont ajoutés correctement. Pour enregistrer dans un autre champ, je joins la chaîne dans un seul guillemet pour enregistrer la chaîne telle quelle.

S'il vous plaît aider à la façon de le sauvegarder dans un seul champ dans Mysql. Veuillez noter que les valeurs ci-dessus arrivent après une requête GROUP_CONCAT sur la première table.

Merci à l'avance

+4

Ce JSON est invalide –

+0

Merci d'avoir regardé la question mais je besoin d'enregistrer une chaîne mentionnée ci-dessus dans un champ mysql – user3655473

+1

Je comprends cela, mais si vous ne pouvez pas faire une bonne question avec toutes les informations essentielles (par exemple, code pertinent, date d'entrée valide), vous ne pouvez pas vous attendre à T'aider –

Répondre

0

Considérez le nom de la variable json_string de $ que celui qui contient votre JSON dans l'état donner (dans votre post), essayez stripslashes avant d'essayer de l'insérer dans la base de données.

Voici une question supplémentaire, construisez-vous le tableau json manuellement en utilisant la concaténation de chaînes ou en utilisant php array et json_encode? (Le second vous faciliterait la tâche, puisque lorsque vous avez besoin d'ajouter le json obtenu après la première requête mentionnée, vous pouvez simplement faire json_encode et votre résultat)

Questions connexes