Java 配置Google HTTP客户端的GsonFactory
我试图设置一个日期格式,用于解析来自GoogleHTTP客户端请求的JSON对象。由于日期格式问题,我尝试直接解析为对象Java 配置Google HTTP客户端的GsonFactory,java,json,jackson,gson,google-http-client,Java,Json,Jackson,Gson,Google Http Client,我试图设置一个日期格式,用于解析来自GoogleHTTP客户端请求的JSON对象。由于日期格式问题,我尝试直接解析为对象request.execute().parseAs(…)的行不起作用。对象返回时没有值。下面的两行很好,因为我可以设置日期格式。有没有办法在GsonFactory上设置日期格式 public class Main { static final HttpTransport HTTP_TRANSPORT = new NetHttpTransport(); stati
request.execute().parseAs(…)
的行不起作用。对象返回时没有值。下面的两行很好,因为我可以设置日期格式。有没有办法在GsonFactory上设置日期格式
public class Main {
static final HttpTransport HTTP_TRANSPORT = new NetHttpTransport();
static final JsonFactory JSON_FACTORY = new GsonFactory();
public static void main(String[] args) throws IOException {
HttpRequestFactory requestFactory =
HTTP_TRANSPORT.createRequestFactory(new HttpRequestInitializer() {
@Override
public void initialize(HttpRequest request) {
request.setParser(new JsonObjectParser(JSON_FACTORY));
}
});
SomeURL url = new SomeURL("");
HttpRequest request = requestFactory.buildGetRequest(url);
MatchBlock[] blocks = request.execute().parseAs(MatchBlock[].class);
Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd'T'HH:mm:ss").create();
MatchBlock[] blocks2 = gson.fromJson(request.execute().parseAsString(),MatchBlock[].class);
}
}
代码主要是从这里提取出来的:我尝试过JacksonFactory和GsonFactory,包括在使用Jackson时使用@JsonFormat注释,但似乎都不起作用
我是否应该先解析一个字符串,然后再解析JSON对象,而不是尝试使用parseAs进行解析?它似乎效率较低。不幸的是,我不确定这是否可以通过使用
JsonFactory
的自定义实现来实现。GsonFactory
使用gson提供的JsonParser
,它只是一个递归的体面实现,不做任何自定义转换
我也遇到了类似的情况,我只是想通过构建器创建一个Gson
对象,以便进行相应的自定义