Extract Embedded Data from URIs Using Java
Parsing a URI string into its corresponding name-value pairs is a common task in many web development scenarios. In Java, you can achieve this operation without relying on external libraries by applying a straightforward approach.
Step-by-Step Guide:
Sample Implementation:
The following Java code demonstrates how to implement the above steps:
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; } }
Example Usage:
To parse the URI provided in your question, you can use the following code:
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"
This approach provides a convenient and versatile way to extract information embedded in URI query strings in Java.
The above is the detailed content of How to Extract Name-Value Pairs from a URI Query String in Java?. For more information, please follow other related articles on the PHP Chinese website!