Nous avons une chaîne codée en Base64 comme suit :
eyJhIjo2MywiYyI6Mjk4LCJuIjoxLCJzIjoxLCJlIjo0MCwicCI6NH0=
Et nous essayons d'analyser la chaîne JSON transcodée ({"a":63,"c":298,"n":1,"s":1,"e":40,"p":4} ) sous forme de tableau. Ci-dessous le résultat souhaité :
SQL écrit en MySQL :
SELECT JSON_EXTRACT(CONVERT(FROM_BASE64('eyJhIjo2MywiYyI6Mjk4LCJuIjoxLCJzIjoxLCJlIjo0MCwicCI6NH0=') USING utf8), '$."a"') a, JSON_EXTRACT(CONVERT(FROM_BASE64('eyJhIjo2MywiYyI6Mjk4LCJuIjoxLCJzIjoxLCJlIjo0MCwicCI6NH0=') USING utf8), '$."c"') c, JSON_EXTRACT(CONVERT(FROM_BASE64('eyJhIjo2MywiYyI6Mjk4LCJuIjoxLCJzIjoxLCJlIjo0MCwicCI6NH0=') USING utf8), '$."n"') n, JSON_EXTRACT(CONVERT(FROM_BASE64('eyJhIjo2MywiYyI6Mjk4LCJuIjoxLCJzIjoxLCJlIjo0MCwicCI6NH0=') USING utf8), '$."s"') s, JSON_EXTRACT(CONVERT(FROM_BASE64('eyJhIjo2MywiYyI6Mjk4LCJuIjoxLCJzIjoxLCJlIjo0MCwicCI6NH0=') USING utf8), '$."e"') e, JSON_EXTRACT(CONVERT(FROM_BASE64('eyJhIjo2MywiYyI6Mjk4LCJuIjoxLCJzIjoxLCJlIjo0MCwicCI6NH0=') USING utf8), '$."p"') p
Il n’y a rien de difficile là-dedans. Il nous suffit de convertir les chaînes codées en Base64 en chaînes JSON, puis d'analyser JSON dans une table en fonction des paires K-V. Le codage SQL est compliqué, en particulier lorsque le nombre de colonnes dans la table de résultats est inconnu.
Il est facile de le coder dans le SPL open source esProc :
Supposons que la valeur du paramètre arg1 soit :
eyJhIjo2MywiYyI6Mjk4LCJuIjoxLCJzIjoxLCJlIjo0MCwicCI6NH0=
En tant que langage de calcul de données structurées professionnel open source, SPL est pratique pour gérer diverses sources de données, y compris JSON.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!