无法通过Android中的HttpGet获取数据

时间:2014-01-19 18:44:14

标签: android json cakephp

我正在尝试使用以下网址发送数据,但它在某种程度上被声明为Logcat中的无效查询

Base_URI/users/add.json?json={“email”: xxx@x.com, “password”: “xxxxxxxxx”, “first_name”: “Xyz”, “last_name”: “Xyz”}

我之前已经问过这个问题,但没有找到解决方案,所以我现在更具体。

据我所知,网络服务是在cakephp中制作的。由于这部分“json = {}”,它不接受网址。参数也用','而不是'&'分隔。简而言之,我应该使用什么编码来从中获取json?

我在Logcat中收到此错误:

Illegal character in query at index 56

除非org.apache.http中没有解决方案,否则不会对第三方库提出任何建议。顺便说一下,我试过Volley Library但没有成功。

2 个答案:

答案 0 :(得分:2)

最后经过调试并尝试了一整天不同的解决方案后,我解决了自己的问题:)

我需要对参数部分进行编码,而不是像这样对整个URL进行编码:

String url = "Base_URI/users/add.json?json=";
    url =url +  URLEncoder.encode("{\"email\":\""+email+"\",\"password\":\""+password+"\"}", "UTF-8");

感谢大家参与其中!

答案 1 :(得分:0)

试试这个:

Base_URI/users/add.json?json={"email": "xxx@x.com", "password": "xxxxxxxxx","first_name": "Xyz", "last_name": "Xyz"}