Menghuraikan Rentetan URI ke dalam Koleksi Nilai-Nama
Disebabkan ketiadaan Java yang ditakrifkan secara eksplisit bersamaan dengan HttpUtility C#/.NET. Kaedah ParseQueryString, pendekatan alternatif diperlukan untuk menghuraikan rentetan URI ke dalam nilai nama koleksi. Jawapan ini meneroka pelaksanaan Java tersuai yang mencapai fungsi ini.
Kod Java untuk Penghuraian URI
Kod Java berikut boleh digunakan untuk memisahkan rentetan URI kepada nama -koleksi pasangan nilai:
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; }
Penggunaan dan Contoh
Kaedah ini boleh digunakan dengan URL sebagai hujah dan ia mengembalikan Peta yang mengandungi pasangan nilai nama yang dihuraikan. Contohnya, menggunakan URI yang disediakan dalam soalan:
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> query_pairs = splitQuery(url); System.out.println(query_pairs.get("client_id")); // prints "SS"
Kaedah ini memudahkan akses mudah kepada nilai yang dihuraikan dengan menggunakan antara muka Peta. Adalah penting untuk ambil perhatian bahawa penyahkodan URL dilaksanakan dalam kaedah ini untuk memastikan pengendalian yang betul bagi aksara yang dikodkan dalam URI.
Penambahan
Kemas kini seterusnya kepada penyelesaian ini telah ditangani keperluan tambahan, seperti mengendalikan berbilang parameter dengan kunci yang sama dan parameter tanpa nilai. Tambahan pula, versi Java8 telah disediakan untuk mereka yang menggunakan versi Java yang lebih terbaharu.
Memandangkan respons ini telah mendapat populariti yang ketara, kod Java yang disediakan telah diperhalusi secara berterusan untuk menawarkan pendekatan yang lebih mantap dan serba boleh kepada penghuraian URI.
Atas ialah kandungan terperinci Bagaimana untuk Menghuraikan Rentetan URI ke dalam Koleksi Nilai Nama di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!