Android OkHTTP返回不一致的字符串?
我使用OkHTTP从url主体获取文本:Android OkHTTP返回不一致的字符串?,android,okhttp,Android,Okhttp,我使用OkHTTP从url主体获取文本: class DownloadUrl { String readUrl(String myUrl) throws IOException,NullPointerException { OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url(myUrl)
class DownloadUrl {
String readUrl(String myUrl) throws IOException,NullPointerException {
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url(myUrl)
.build();
Response response = client.newCall(request).execute();
return response.body().string();
}
}
然而,我得到了不一致的字符串,尽管URL及其内容每次都是相同的。返回的字符串省略了JSON的块例如,我应该得到:
"html_attributions" : [],
"results" : [
"icon" : "https://maps.gstatic.com/mapfiles/place_api/icons/shopping-71.png",
"id" : "b89943f74e20eafb8959ace996a6f35cd303d5ff",
"name" : "Circle K",
"opening_hours" : {
"open_now" : true,
"weekday_text" : []
},
"photos" : [
{
"height" : 400,
"html_attributions" : [
"\u003ca href=\"https://maps.google.com/maps/contrib/114668422179892290420/photos\"\u003eCircle K\u003c/a\u003e"
],
"photo_reference" : "CmRaAAAAAdubSCt5u9IrI6bsL91DGLdIm2SMO39SaKGxKKmrj-ygxrCmIjUzG0DwrBgcX56DdpEFRBev29cdA4ljZnIR7lvPlP3jBhHkBxliRkGlAlfkAh9TiQvVuyNNQLnzIcsuEhAsc0Px0hV4mFTZruHRWLh9GhTIePuzk5JxV1QewH3jimkAKIzALw",
"width" : 400
}
],
相反,我得到的是:
"html_attributions" : [],
"results" : [
"icon" : "https://maps.gstatic.com/mapfiles/place_api/icons/restaurant-71.png",
"id" : "1a830f99aab4e7afa143b2c8d03545ea7c1e9432",
"name" : "McDonald's",
"opening_hours" : {
"open_now" : true,
"weekday_text" : []
},
JSON的“照片”部分在一些电话中留下了,有什么想法吗?谢谢。根据(我猜这是您正在使用的服务),每个结果
对象可能包含:
photos[]
-一组photo
对象,每个对象都包含对图像的引用地点搜索最多返回一个照片
对象
此外,报告指出:
如果该地点有相关的照片内容,则响应[…]将包含一个photos[]
字段
这意味着,如果特定结果没有照片,那么photos
数组将根本不存在于响应中
你提供的例子并不是指同一个地方:在第一种情况下,你得到的是“圆圈K”的结果,而在第二种情况下是“麦当劳”。基于此,响应似乎与文档中的内容一致。您得到的JSON甚至不是有效的JSON(除非您出于显示原因将其剪切)。您是否使用其他工具(例如邮递员)检查了您每次呼叫服务时是否都得到了正确的响应?我将其剪切以便于显示,每次呼叫时,它要么有“照片”子项,要么没有。我已经检查了每个电话的URL,所有的URL都包含“照片”。我发布的这个只是一个例子,但我会研究一下,然后compare@Mozy你有什么结果吗?很抱歉更新太晚了,但是每个结果都有照片数组,但是由于某种原因okhttp不会返回整个正文,谢谢。