我正在尝试从远程服务器获取json数据。仅当通过两个字符串时,一切正常,我的应用程序被强制停止。如何对网址进行编码以防止出现此错误
这是如何尝试获取json值
jsonobject = JSONfunctions.getJSONfromURL("http://www.example.com/index.php?sutyp="+sutyp);
如果我通过sutyp传递“ Hello”,则没有错误,但是如果我传递“ Hello World”,则应用程序强制停止
如何编码网址以防止这种情况。任何建议都会有很大帮助
最佳答案
您需要使用android.net.Uri
类:
String url = Uri.parse("http://www.example.com/index.php")
.buildUpon()
.appendQueryParameter("sutyp", sutyp)
.build()
.toString();
jsonobject = JSONfunctions.getJSONfromURL(url);
从docs:
使用,将给定字符串中的字符编码为'%'转义的八位字节
UTF-8方案。留下字母(“ A-Z”,“ a-z”),数字(“ 0-9”)和
未保留的字符(“ _- !.〜'()*”)保持不变。编码所有其他
字符。