我们有一个Base64编码的字符串,如下:
eyJhIjo2MywiYyI6Mjk4LCJuIjoxLCJzIjoxLCJlIjo0MCwicCI6NH0=
并且正在尝试解析转码的 JSON 字符串 ({"a":63,"c":298,"n":1,"s":1,"e":40,"p":4} )作为表格。以下是期望的结果:
MySQL 编写的 SQL:
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
这没什么难的。我们只需要将Base64编码的字符串转换为JSON字符串,然后根据K-V对将JSON解析成表即可。 SQL 编码很复杂,特别是当结果表中的列数未知时。
在开源集算器SPL中编写很容易:
假设参数arg1的值为:
eyJhIjo2MywiYyI6Mjk4LCJuIjoxLCJzIjoxLCJlIjo0MCwicCI6NH0=
SPL作为开源的、专业的结构化数据计算语言,可以方便地处理各种数据源,包括JSON。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3