2013-03-12 3 views
0

Почему я получаю ошибку java.util.UnknownConversionException: Conversion = 'D' для метода ниже. Я создаю строку intial, а затем возвращаю ее из метода для создания String.format. Это происходит в String.format.UnknownFormatConversionException с String.format в Java

String url = StringUtils.join(new String[] { BASE_URL, 
       "/location/inst/", slug, 
       "/coursesections/number%s.json?apiKey=", apiKey, 
       "&token=", GetAuthTokenEncoded(authToken) }) 


String url2 = String.format(url, ("/" + callNumber)); 

Выход StringUtils

http://test.com/location/inst/testy/coursesections/number%s;.json?apiKey=dfsdfsdfsadfsdf&token=2.0%7Cidm%7Cidm%7Ctest%3Dbesrlin_50d4s9dd25dsee56f3a1e95fb4f%26berlin%3D50d49dd2e2f28cf450b0caa9f449%26campus%3Dberlin%3A50d49dd25ee56f3a1e95fb4f%7C2013-03-12T16%3A25%3A23%2B00%3A00%7C2013-03-12T19%3A25%3A23%2B00%3A00%7C09161a6011f2dc2e3443bc40b2d3f4b3d4f 
+1

org.apache.common.langs.StringUtils –

+0

Что URL выглядеть перед выходом в вызов string.Format? – hd1

+1

Как выглядит url и callnumber? – DaveJohnston

ответ

1

Существует "% 3D" в строке url быть отформатирован в связи с URL побега. Вам нужно будет предоставить результат GetAuthTokenEncoded в качестве параметра String.format, поэтому он не интерпретирует «% 3D» в качестве заполнителя.

String url = StringUtils.join(new String[] { BASE_URL, 
      "/location/inst/", part, 
      "/coursesections/number%s.json?apiKey=", apiKey, 
      "&token=%s"); 
String url2 = String.format(url, ("/" + callNumber), GetAuthTokenEncoded(authToken)); 
2

GetAuthTokenEncoded(authToken) содержит весь груз %, вызывающих ошибки. Почему бы просто не добавить номер вызова так же, как вы присоединяетесь к остальной части строки?

String url = StringUtils.join(new String[] { BASE_URL, 
      "/location/inst/", part, 
      "/coursesections/number/", number, ".json?apiKey=", apiKey, 
      "&token=", GetAuthTokenEncoded(authToken) }) 
+0

Yep Ill вычислить другое решение. –

Смежные вопросы