android 上带有方括号的 MissingFormatArgumentException
MissingFormatArgumentException with square brackets on android
我有一个正在尝试格式化的字符串:
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
异常。
以前有人遇到过这个问题吗?
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"
最后我使用 URLEncoder 解决了这个问题。
这个 post 特别有用 -> URL encoding in Android
String queryPart = String.format(PARAM_STRING,
email);
return baseUrl + URLEncoder.encode(queryPart, "utf-8");
我有一个正在尝试格式化的字符串:
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
异常。
以前有人遇到过这个问题吗?
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"
最后我使用 URLEncoder 解决了这个问题。
这个 post 特别有用 -> URL encoding in Android
String queryPart = String.format(PARAM_STRING,
email);
return baseUrl + URLEncoder.encode(queryPart, "utf-8");