我正在使用StringBuilder构建一个String
StringBuilder builder = new StringBuilder();
builder.append("my parameters");
builder.append("other parameters");
Run Code Online (Sandbox Code Playgroud)
然后我建立一个网址
Url url = new Url(builder.toString());
Run Code Online (Sandbox Code Playgroud)
然后我尝试连接
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
Run Code Online (Sandbox Code Playgroud)
但是从我得到的结果来看,网址似乎并不正确.这就像某些参数被错误传递.这就是为什么我认为问题出在StringBuilder的一部分.
问题在于我试图传递的双参数.
double longitude = 23.433114;
String lng = String.ValueOf(longitude);
Run Code Online (Sandbox Code Playgroud)
然后我把它放在网址中.但如果我把它作为字符串给出,结果是正确的.
String lng = "23.433114"
Run Code Online (Sandbox Code Playgroud)
UrlEncoding是否必要?我将尝试下面的建议.
我想设置显示 Google Places API 结果的语言。我想要使用这个 url 可以获得的结果:
https://maps.googleapis.com/maps/api/place/details/json?placeid=A_PLACE_ID&key=MY_EY&language=el
Run Code Online (Sandbox Code Playgroud)
在android中,我得到这样的地方详细信息:
PendingResult<PlaceBuffer> placeResult = Places.GeoDataApi
.getPlaceById(mGoogleApiClient, placeID);
placeResult.setResultCallback(mUpdatePlaceDetailsCallback);
Run Code Online (Sandbox Code Playgroud)
我找不到使用“language = el”为上述结果设置语言的方法。
我想将UTF8编码的JSON主体发送到我的REST API.我的代码现在是
var body : [String:Any]? = ["version":Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String ?? ""];
.
.
body?["type"] = type
var url : String = UserDefaults.standard.value(forKey:"url") as! String
url.append("MobileLogin")
Alamofire.request(url, method: .post, parameters:body, encoding: JSONEncoding.default, headers: nil).responseJSON { (responseData) in
if((responseData.result.value) != nil) {
.
.
}
}
Run Code Online (Sandbox Code Playgroud)
问题是JSON发送的不是UTF8编码的.想知道如何在Alamofire请求中设置类似"JSONEncoding.encode("UTF8")的内容吗?