Rumah > Java > javaTutorial > Bagaimana untuk Mengekstrak Pasangan Nilai Nama daripada Rentetan Pertanyaan URI di Jawa?

Bagaimana untuk Mengekstrak Pasangan Nilai Nama daripada Rentetan Pertanyaan URI di Jawa?

DDD
Lepaskan: 2024-12-26 22:35:13
asal
857 orang telah melayarinya

How to Extract Name-Value Pairs from a URI Query String in Java?

Ekstrak Data Terbenam daripada URI Menggunakan Java

Menghuraikan rentetan URI ke dalam pasangan nilai nama yang sepadan ialah tugas biasa dalam banyak pembangunan web senario. Di Java, anda boleh mencapai operasi ini tanpa bergantung pada perpustakaan luaran dengan menggunakan pendekatan yang mudah.

Panduan Langkah demi Langkah:

  1. Pisahkan Rentetan Pertanyaan URI:
    Menggunakan kaedah URL.getQuery(), dapatkan bahagian rentetan pertanyaan daripada URI. Rentetan pertanyaan ialah bahagian selepas tanda soal (?) dan mengandungi pasangan nilai kunci yang dipisahkan oleh aksara ampersand (&).
  2. Pasangan Nilai Kunci Asingkan:
    Pisah rentetan pertanyaan ke dalam pasangan nilai kunci individu menggunakan String.split("&") kaedah.
  3. Menghuraikan Pasangan Nilai Kunci:
    Untuk setiap pasangan nilai kunci, cari tanda sama (=) untuk memisahkan kunci daripada nilai. Nyahkod kedua-dua kunci dan nilai menggunakan pengekodan yang sesuai, seperti URLDecoder.decode().
  4. Bina Koleksi Nilai-Nama:
    Buat struktur data peta untuk menyimpan kunci yang dihuraikan -pasangan nilai.

Sampel Pelaksanaan:

Kod Java berikut menunjukkan cara melaksanakan langkah di atas:

import java.net.URL;
import java.net.URLDecoder;
import java.util.LinkedHashMap;
import java.util.Map;

public class ParseUriQuery {

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

}
Salin selepas log masuk

Contoh Penggunaan:

Untuk menghuraikan URI yang disediakan dalam soalan anda, anda boleh menggunakan kod berikut:

URL url = new URL("https://google.com.ua/oauth/authorize?client_id=SS&response_type=code&scope=N_FULL&access_type=offline&redirect_uri=http://localhost/Callback");
Map<String, String> queryPairs = ParseUriQuery.splitQuery(url);

// Access parsed elements
String clientId = queryPairs.get("client_id"); // Returns "SS"
Salin selepas log masuk

Pendekatan ini menyediakan kemudahan dan cara serba boleh untuk mengekstrak maklumat yang dibenamkan dalam rentetan pertanyaan URI dalam Java.

Atas ialah kandungan terperinci Bagaimana untuk Mengekstrak Pasangan Nilai Nama daripada Rentetan Pertanyaan URI di Jawa?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan