0

Android(Java)の値を使用して、URLからすべての変数を取得する方法を知りたいだけです。

たとえば、次のような URL がある場合、
http://www.sample.com/json/just_in.asp?variable1=value1&variable2=value2

次に、その値を取得variable1して、どこに保存variable2しますhashmap
key=variable name(variable1)

value=variable value(value1)

4

4 に答える 4

3

そのようです:

HashMap<String, String> map = new HashMap<String, String>();
try {
    String url = "http://www.sample.com/json/just_in.asp?variable1=value1&variable2=value2";
    List<NameValuePair> parameters = URLEncodedUtils.parse(new URI(url), "UTF-8");
    for (NameValuePair p : parameters) {
        map.put(p.getName(), p.getValue());
    }
} catch (URISyntaxException e) {
    e.printStackTrace();
}

mapパラメータのキーと値のペアが含まれます。

于 2013-06-25T10:55:42.210 に答える
2

UriURL/文字列からオブジェクトを作成します。

String myUrl = "http://www.sample.com/json/just_in.asp?variable1=value1&variable2=value2";

Uri uri = Uri.parse(myUrl);
String variable1 = uri.getQueryParameter("variable1");
String variable2 = uri.getQueryParameter("variable2");

このトピックの詳細については、http://developer.android.com/reference/android/net/Uri.htmlを参照してください。

于 2013-06-25T10:55:29.810 に答える
1

この簡単なコードを使用してください

 final String[] params = url.split("&");
        final Map<String, String> map = new HashMap<String, String>();
        try {
            for (final String param : params) {
                final String name = param.split("=")[0];
                final String value = param.split("=")[1];
                map.put(name, value);
            }
        } catch (final Exception e) {
            e.printStackTrace();
        }
于 2013-06-25T11:24:48.017 に答える
0

私の場合、私は書いた

private static final String SYMBOL_EQUAL = "=";
private static final String SYMBOL_COMMA = ",";
private static final String SYMBOL_AND = "&";

   public static HashMap<String, String> getParamList(String encodedUrl) throws IOException {

    final HashMap<String, String> map = new HashMap<String, String>();
    final String url = URLDecoder.decode(encodedUrl, StandardCharsets.UTF_8.name());
    final String[] params = url.split(SYMBOL_AND);

    try {
        for (final String param : params) {
            final String name = param.split(SYMBOL_EQUAL)[0];
            final String value = param.split(SYMBOL_EQUAL)[1];
            map.put(name, value);
        }
    } catch (final Exception e) {
        LOGGER.error(e.getMessage());
    }
    return map;
}
于 2020-10-13T12:12:40.803 に答える