我有这个字符串,我正在尝试格式化:
String url = "http://api/doSomething.json?params%5Bemail%5D=%s"
String.format(url,email).
这个想法最终看起来像这样:
http://api/doSomething.json?params[email]=aValue;
我目前正在获得MissingFormatArgumentException, Format specifier: 5D
例外。
之前有没有人遇到过这个问题?
答案 0 :(得分:1)
String.format()
不喜欢%5D
占位符 - %5D
必须是%5d
。
参考:http://developer.android.com/reference/java/util/Formatter.html
......如果是关于占位符的话。
无论如何,看起来你只想要方括号。 因此,请更改此
String url = "http://api/doSomething.json?params%5Bemail%5D=%s"
到
String url = "http://api/doSomething.json?params[email]=%s"
答案 1 :(得分:0)
最后,我能够使用URLEncoder来解决这个问题。
这篇文章特别有用 - > URL encoding in Android
String queryPart = String.format(PARAM_STRING,
email);
return baseUrl + URLEncoder.encode(queryPart, "utf-8");