2016-04-05 55 views
-1

請幫助我解決以下問題在Android ...如何在android中編碼前斜槓? (%2F不工作)

如何發送一個字符串包含forwardslash(「/」),在Url中獲取Android中的JSON數據?

例如: 假設,如果下面是URL, https://www.example.com/xyz/abc/phone/ios/android 我要追加URL以「IOS/Android的」爲「電話」(如字符串,而不是作爲查詢參數),但它正在爲兩個值「ios」和「android」。並返回... {「exception」:「缺少參數android的值」}

1)嘗試與「URLEncoder」,但它沒有采取。 。 2)試圖與 「%2F」, 「%252F」 等替換前斜線( 「/」)..但它返回空白陣列( 「[]」)

+0

嘗試使用%21,它可能適合您 –

+0

您應該嘗試使用'Uri.Builder'類。相當肯定它處理編碼 –

+0

1)編碼與%21不工作,再次返回空白數組 2)對於android.net.Uri.Builder;我試過這樣: Uri.Builder builder = new Uri.Builder(); builder.scheme( 「https」 開頭) .authority( 「www.example.com」) .appendPath( 「XYZ」) .appendPath( 「ABC」) .appendPath( 「手機」) .appendPath(」 IOS /機器人「); String myUrl = builder.build()。toString(); 但我得到的迴應:「未找到」 當我試圖顯示Url:它將其編碼爲「ios%2Fandroid」 – user6127215

回答

0

正確的編碼是:

https://www.example.com/xyz/abc/phone/ios%2fandroid 

如果服務器無法理解這一點,則表明服務器已損壞。請參閱RFC 3986以供參考。