Kami mempunyai rentetan berkod Base64 seperti berikut:
eyJhIjo2MywiYyI6Mjk4LCJuIjoxLCJzIjoxLCJlIjo0MCwicCI6NH0=
Dan sedang cuba menghuraikan rentetan JSON yang ditranskodkan ({"a":63,"c":298,"n":1,"s":1,"e":40,"p":4} ) sebagai jadual. Di bawah adalah hasil yang diinginkan:
SQL ditulis dalam 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
Tiada apa yang sukar mengenainya. Kami hanya perlu menukar rentetan berkod Base64 kepada rentetan JSON, kemudian menghuraikan JSON ke dalam jadual mengikut pasangan K-V. Pengekodan SQL adalah rumit, terutamanya apabila bilangan lajur dalam jadual hasil tidak diketahui.
Mudah untuk mengekodkannya dalam esProc SPL sumber terbuka:
Andaikan nilai parameter arg1 ialah:
eyJhIjo2MywiYyI6Mjk4LCJuIjoxLCJzIjoxLCJlIjo0MCwicCI6NH0=
Sebagai bahasa pengiraan data berstruktur profesional sumber terbuka, SPL mudah dalam mengendalikan pelbagai sumber data, termasuk JSON.
Atas ialah kandungan terperinci Cara Menghuraikan Pasangan Nilai Kunci daripada Rentetan Berkod Asas#mis11. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!