我正在尝试从远程服务器获取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”)和
  未保留的字符(“ _- !.〜'()*”)保持不变。编码所有其他
  字符。

09-27 17:09