2015-04-05 26 views
1

我应该解析值的URL,但是当我给如何解析URL中的Android

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

这样它显示错误。所以请帮助我。谢谢。

+0

它会显示什么错误? – ByteHamster 2015-04-05 10:28:55

+0

无效的转义序列(有效的转义序列是\ b \ t \ n \ f \ r \“\'\\) – user3693338 2015-04-05 10:31:43

+0

搜索URL编码器 – 2015-04-05 10:56:32

回答

0

您需要使用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(); 
+0

tnx.i将尝试回来ü – user3693338 2015-04-05 11:24:56

+0

tnx它工作正常 – user3693338 2015-04-05 11:26:41

+0

嗨,我有不同键应该在java文件中注册所有密钥??? – user3693338 2015-04-05 15:02:39

1

这是不是一个错误。用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"); 
+0

tnx您的回复 – user3693338 2015-04-05 11:48:01