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
DDDasal
2024-12-26 22:35:13863semak imbas

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;
    }

}

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"

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!

Kenyataan:
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