Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在android中解析url_Java_Android_Json_Sqlite - Fatal编程技术网

Java 如何在android中解析url

Java 如何在android中解析url,java,android,json,sqlite,Java,Android,Json,Sqlite,我有一个应该解析值的URL,但是当我给出 private static String url = "http://54.174.74.84/api/index/index?data={%20%22language_code%22:%22en_us%22,%20%22cmd%22:%22search_projects%22,%20%22user_device_id%22:319,%20%22page%22:0,%20%22user_token%22:%22edeN2y0EuakoD2deWGzij

我有一个应该解析值的URL,但是当我给出

private static String url = "http://54.174.74.84/api/index/index?data={%20%22language_code%22:%22en_us%22,%20%22cmd%22:%22search_projects%22,%20%22user_device_id%22:319,%20%22page%22:0,%20%22user_token%22:%22edeN2y0EuakoD2deWGzijeuBQ5HRnhokyAqV4WIHzZz5PM0Qn2xgopKiAcboNJktgXeQMsX7kZmDW3T5Tta3i+Fz1mU5p1yTP1L3m\/OTGkOlDoJrLn6\/+I3rBqESDtFH%22,%20%22source_app%22:%22android%22,%20%22longitude%22:%22567%22,%20%22user_id%22:67,%20%22latitude%22:%22123%22,%20%22records_per_page%22:%2210%22,%20%22search_key%22:%22%22%20}";

就像这样,它显示出错误。所以请帮帮我。谢谢。

您需要使用
Uri
类:

String uri = Uri.parse("http://54.174.74.84/api/index/index")
            .buildUpon()
            .appendQueryParameter("data", "{%20%22language_ ..... %22%22%20}")
            .appendQueryParameter("param2", value2)
            .appendQueryParameter("param3", value3)
            .build().toString();

这不是一个错误。只需使用java编码器类进行字符串编码。在使用字符串之前,您必须先对其进行解码,如下面的代码所示

String url = "http://54.174.74.84/api/index/index?data={%20%22language_code%22:%22en_us%22,%20%22cmd%22:%22search_projects%22,%20%22user_device_id%22:319,%20%22page%22:0,%20%22user_token%22:%22edeN2y0EuakoD2deWGzijeuBQ5HRnhokyAqV4WIHzZz5PM0Qn2xgopKiAcboNJktgXeQMsX7kZmDW3T5Tta3i+Fz1mU5p1yTP1L3m/OTGkOlDoJrLn6/+I3rBqESDtFH%22,%20%22source_app%22:%22android%22,%20%22longitude%22:%22567%22,%20%22user_id%22:67,%20%22latitude%22:%22123%22,%20%22records_per_page%22:%2210%22,%20%22search_key%22:%22%22%20}";

String result = java.net.URLDecoder.decode(url, "UTF-8");

它显示了什么错误?无效的转义序列(有效的是\b\t\n\f\r\“\\”\)tnx。我将尝试通过“不同的键”返回uif。您指的是不同的URL参数,然后需要通过调用
appendQueryParameter()来追加它们
对于每个参数,请参见编辑后的答案:)我不知道如何解析代码。因为我是beginer。我遵循这个示例创建一个新问题并在此处发布链接:)