Rumah > Java > javaTutorial > Bagaimana Menghuraikan Rentetan Pertanyaan URI ke dalam Pasangan Nilai-Nama di Jawa Tanpa Perpustakaan Luaran?

Bagaimana Menghuraikan Rentetan Pertanyaan URI ke dalam Pasangan Nilai-Nama di Jawa Tanpa Perpustakaan Luaran?

Mary-Kate Olsen
Lepaskan: 2024-12-24 21:34:33
asal
329 orang telah melayarinya

How to Parse URI Query Strings into Name-Value Pairs in Java Without External Libraries?

Menghuraikan Rentetan URI ke dalam Koleksi Nilai-Nama

Pengenalan

Menghuraikan rentetan URI ke dalam unsur konstituennya ialah tugas biasa dalam pembangunan web. Untuk melaksanakan tugas ini, Java menyediakan beberapa keupayaan terbina dalam dan perpustakaan luaran. Artikel ini memfokuskan pada penyelesaian berasaskan Java untuk menghuraikan rentetan URI tanpa menggunakan kebergantungan luaran.

Menghuraikan Parameter Pertanyaan

Bahagian pertanyaan URI mengandungi satu siri pasangan nilai nama yang dipisahkan oleh watak '&'. Untuk menghuraikan parameter ini ke dalam peta, anda boleh menggunakan kaedah berikut:

public static Map<String, String> splitQuery(URL url) throws UnsupportedEncodingException {
    Map<String, String> query_pairs = new LinkedHashMap<>();
    String query = url.getQuery();
    String[] pairs = query.split("&");
    for (String pair : pairs) {
        int idx = pair.indexOf("=");
        query_pairs.put(URLDecoder.decode(pair.substring(0, idx), "UTF-8"), URLDecoder.decode(pair.substring(idx + 1), "UTF-8"));
    }
    return query_pairs;
}
Salin selepas log masuk

Penggunaan Contoh

Menggunakan URL yang diberikan sebagai contoh:

https://google.com.ua/oauth/authorize?client_id=SS&response_type=code&scope=N_FULL&access_type=offline&redirect_uri=http://localhost/Callback
Salin selepas log masuk

kaedah splitQuery akan mengembalikan peta berikut:

{client_id=SS, response_type=code, scope=N_FULL, access_type=offline, redirect_uri=http://localhost/Callback}
Salin selepas log masuk

Pengekodan Pertimbangan

Kaedah ini termasuk penyahkodan URL untuk mengendalikan sebarang aksara khas yang terdapat dalam nilai parameter.

Mengendalikan Berbilang Parameter dengan Kunci Sama

Versi kaedah yang dikemas kini telah disediakan untuk mengendalikan senario di mana berbilang parameter mempunyai kunci yang sama. Versi ini menggunakan Map> untuk menjejaki semua nilai bagi kunci yang diberikan.

Versi Java 8

Pelaksanaan kaedah Java 8 juga tersedia, yang memanfaatkan ungkapan dan strim lambda untuk penyelesaian yang ringkas dan cekap.

Kesimpulan

Dengan menggunakan kaedah splitQuery, anda boleh menghuraikan rentetan pertanyaan URI dengan mudah ke dalam pasangan nama-nilai konstituen tanpa bergantung pada perpustakaan luaran. Keupayaan ini penting untuk pelbagai tugas pembangunan web, seperti mengekstrak input pengguna atau mendapatkan semula parameter daripada titik akhir RESTful.

Atas ialah kandungan terperinci Bagaimana Menghuraikan Rentetan Pertanyaan URI ke dalam Pasangan Nilai-Nama di Jawa Tanpa Perpustakaan Luaran?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan