public static final String SERVER_URL = "https://maps.googleapis.com/maps/api/timezone/json?location=-37.8136,144.9631×tamp=1389162695&sensor=false";
try {
// Create an HTTP client
HttpClient client = HttpClientBuilder.create().build();
HttpPost post = new HttpPost(SERVER_URL);
// Perform the request and check the status code
HttpResponse response = client.execute(post);
StatusLine statusLine = response.getStatusLine();
if (statusLine.getStatusCode() == 200) {
HttpEntity entity = response.getEntity();
InputStream content = entity.getContent();
try {
// Read the server response and attempt to parse it as JSON
Reader reader = new InputStreamReader(content);
GsonBuilder gsonBuilder = new GsonBuilder();
gsonBuilder.setDateFormat("M/d/yy hh:mm a");
Gson gson = gsonBuilder.create();
List<Post> postsList = Arrays.asList(gson.fromJson(reader,
Post[].class));
content.close();
for (Post p : postsList) {
System.out.println(p.timeZoneId);
}
} catch (Exception ex) {
System.out.println("Failed to parse JSON due to: " + ex);
}
} else {
System.out.println("Server responded with status code: "
+ statusLine.getStatusCode());
}
} catch (Exception ex) {
System.out
.println("Failed to send HTTP POST request due to: " + ex);
}
public class Post {
public String timeZoneId;
public Post() {
}
}
我怎么解决这个?
您在注释中声明返回的JSON如下所示:
{
"dstOffset" : 3600,
"rawOffset" : 36000,
"status" : "OK",
"timeZoneId" : "Australia/Hobart",
"timeZoneName" : "Australian Eastern Daylight Time"
}
您告诉Gson您有一个post
对象数组:
List<Post> postsList = Arrays.asList(gson.fromJson(reader,
Post[].class));
你没有。JSON正好代表一个post
对象,Gson告诉您这一点。
Post post = gson.fromJson(reader, Post.class);
在阅读@Ridcully的响应之后,我想问一下是否有一种方法可以更新,以便它知道JSON是一个数组。比如?
我正在学习youtube视频的改装,但现在我卡住了。它显示一个错误“reverfit expected begin_array but was begin_object at line 1 column 2 path$”我正在尝试从这个站点获取json数据。http://servicio-monkydevs.rhcloud.com/clientes/ ClientService.java clie
我使用django作为服务器端 在django中,我像这样返回Json 我不知道为什么会产生问题
错误:java.lang.IllegalStateException:应为begin_array,但为begin_object 我不知道怎么解决这个问题 我在这里包含了我的完整代码 这是我的JSON search_movie.class apiclient.java
我做错了什么? 当我这样读json时,它工作得很好
因此,在我的应用程序中,用户可以为他们的饭菜拍照,通过使用TensorFlow的图像分类,它将在中对饭菜进行分类。然后,使用Edamam食谱搜索API,它将向用户返回该餐的食谱。 这是我的中的中的内容: 对于、和,我在活动的顶部创建了以下变量: 更新1:我包含了使用后的JSON响应。 更新2:我已经包含了Recipe类。 有人知道如何解决这个问题吗?