Tenemos una cadena codificada en Base64 como sigue:
eyJhIjo2MywiYyI6Mjk4LCJuIjoxLCJzIjoxLCJlIjo0MCwicCI6NH0=
Y estamos intentando analizar la cadena JSON transcodificada ({"a":63,"c":298,"n":1,"s":1,"e":40,"p":4} ) como una mesa. A continuación se muestra el resultado deseado:
SQL escrito 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
No tiene nada de difícil. Solo necesitamos convertir las cadenas codificadas en Base64 en cadenas JSON y luego analizar JSON en una tabla de acuerdo con los pares K-V. La codificación SQL es complicada, especialmente cuando se desconoce el número de columnas de la tabla de resultados.
Es fácil codificarlo en esProc SPL de código abierto:
Supongamos que el valor del parámetro arg1 es:
eyJhIjo2MywiYyI6Mjk4LCJuIjoxLCJzIjoxLCJlIjo0MCwicCI6NH0=
Como lenguaje de cálculo de datos estructurados profesional y de código abierto, SPL es conveniente para manejar varias fuentes de datos, incluido JSON.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3