Articles of jackson

HttpMethod.Delete不能与Spring-Android的RestTemplate一起使用

我正在尝试使用HttpMethod的DELETE方法。 我正在使用的代码是 response = restTemplate.exchange(url, HttpMethod.DELETE, requestEntity, Response.class); 我也使用JacksonJson来映射json。 删除function返回应该映射到Response类的json。 但是,调用上述行不起作用,并以500作为响应代码给内部服务器错误。 但是,相同的API在浏览器中与RESTClient一起工作,所以我猜这是我做得不正确的事情。

Jackson ObjectMapper冲突的setter定义(Android.Graphics.Bitmap)

我有这个方法: public static Response deserializeResponse(String jsonResponse) throws JsonParseException, JsonMappingException, IOException { ObjectMapper mapper = new ObjectMapper(); try{ return mapper.readValue(jsonResponse, Response.class); }catch(JsonParseException e){ e.printStackTrace(); }catch(JsonMappingException e){ e.printStackTrace(); }catch(IOException e){ e.printStackTrace(); } return null; } 这是class级回应: public static class Response { public String RequestType; public Data data; public void SetRequestType(String requestType) { this.RequestType = requestType; } @JsonIgnore […]

Android与Gradle(Java完成非零退出值2)

这是我的.gradle文件: apply plugin: 'com.android.application' android { compileSdkVersion 21 buildToolsVersion "21.1.2" defaultConfig { applicationId "com.test.test" minSdkVersion 15 targetSdkVersion 21 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } packagingOptions { exclude 'META-INF/license.txt' exclude 'META-INF/LICENSE' exclude 'META-INF/notice.txt' exclude 'META-INF/NOTICE' } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:21.0.3' […]

Android Retrofit 2.0刷新令牌

我正在使用Retrofit 2.0与Jackson转换器与Rest API进行通信。 有些请求需要授权令牌。 如果我拥有的令牌已经过时,我需要用另一个请求刷新它们,并重复上次因此而失败的请求。 我的问题:我是否需要手动每次都做,或者有什么办法来自动化? 以下是我目前实施的方式: TrackerService public interface TrackerService { @POST("auth/sendPassword") Call<ResponseMessage> sendPassword(@Header("app-type") String appType, @Body User userMobile); @FormUrlEncoded @POST("oauth/token") Call<TokenResponse> oathToken(@Field("client_id") String clientId, @Field("client_secret") String clientSecret, @Field("grant_type") String grantType, @Field("username") String username, @Field("password") String password); @FormUrlEncoded @POST("oauth/token") Call<TokenResponse> refreshToken(@Field("client_id") String clientId, @Field("client_secret") String clientSecret, @Field("grant_type") String grantType, @Field("refresh_token") String username); @PUT("me/profile") Call<Profile> […]

如何从JsonParser(Jackson Json)获取底层string

通过文档和源代码看,我没有看到一个明确的方式来做到这一点。 好奇,如果我失去了一些东西。 假设我从服务器响应收到一个InputStream。 我从这个InputStream创build一个JsonParser。 预计服务器响应是包含有效json的文本,例如: {"iamValidJson":"yay"} 但是,如果响应最终是无效的json或者根本不是json,例如: Some text that is not json JsonParser将最终抛出exception。 在这种情况下,我希望能够从JsonParser中提取底层的无效文本“ Some text that is not json ”,因此可以用于其他目的。 我不能将它从InputStream中提取出来,因为它不支持重置,并且JsonParser的创build会消耗它。 有没有办法做到这一点?

HttpMessageNotReadableException:无法读取JSON:使用Spring for Android无法识别的字段

我正在开发和与我的服务器通信的Android应用程序。 这个沟通是通过Spring框架和Jackson完成的。 我发送一个请求我的服务器成功,但我没有得到答复。 这是我所做的: Android应用程序: public Loja getLoja() { RestTemplate restTemplate = new RestTemplate(); restTemplate.getMessageConverters().add(new MappingJacksonHttpMessageConverter()); restTemplate.setRequestFactory(new HttpComponentsClientHttpRequestFactory()); String url = BASE_URL + "/android/played.json"; return restTemplate.getForObject(url, Loja.class); } Loja类(我有两个版本,一个在Android应用中,另一个在Server中,它们是完全一样的): public class Loja { private String nome; private String xValue; private String yValue; private String andar; public Loja(String nome, String xValue, String yValue, String andar) { […]

Android Proguard – Jackson的TypeReference类中的IllegalArgumentException

如果使用proguard进行混淆,Android应用程序会崩溃。 以下是堆栈跟踪。 Caused by: java.lang.IllegalArgumentException: Internal error: TypeReference constructed without actual type information at abagb<init>(TypeReference.java:35) at acdq<init>(StdCouchDbInstance.java:22) at acdp<clinit>(StdCouchDbInstance.java:22) 我正在使用EktorpClient库(使用couchdb), StdCouchDbInstance.java引用此文件,而TypeReference.java位于此包中。 任何build议,我应该在Proguardconfiguration文件中使用什么选项来解决这个问题?

Android Studio在gradle上设置了Jackson Parser的麻烦

我无法将Jackson Parser依赖项添加到我的项目中。 目前我在build.gradle上使用这些代码行: compile 'com.fasterxml.jackson.core:jackson-core:2.7.2' compile 'com.fasterxml.jackson.core:jackson-annotations:2.7.2' compile 'com.fasterxml.jackson.core:jackson-databind:2.7.2' 我唯一需要的是我知道它在数据绑定包中的ObjectMapper。 当我在gradle中添加这些行时,我按下了同步,并且一切都正确。 问题是在模拟器上运行该项目,这个错误出现在Android Studio上的消息: 错误:执行任务':app:transformResourcesWithMergeJavaResForDebug'失败。 com.android.build.api.transform.TransformException:com.android.builder.packaging.DuplicateFileException:在APK中复制的重复文件META-INF / NOTICE File1:C:\ Users \ Igor.gradle \ caches \ modules-2 \ files -2.1 \ com.fasterxml.jackson.core \ jackson-databind \ 2.7.2 \ 84ffa765dd258dbab8695963c41308b054f3a1cb \ jackson-databind-2.7.2.jar File2:C:\ Users \ Igor.gradle \ caches \ modules-2 \ files-2.1 \ com.fasterxml.jackson.core \jackson核心\ 2.7.2 \ 8b8310381b690e317f5f0574e9b2dd7034778b4c \jackson核心-2.7.2.jar […]

JacksonParser数据绑定和核心原因“findAPK的重复文件”?

我试图学习如何使用jacksonparsing器,以获得更有效的json数据parsing。 我有这些jar文件: 从这个页面下载 jackson-core-2.2.0.jar jackson-annotations-2.2.0.jar jackson-databind-2.2.0.jar 在代码中,我只是试图parsing一个JSON到一个对象数组: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); String json = ReadFromRaw(this, R.raw.json); ArrayList<Category> categories = null; try { ObjectMapper mapper = new ObjectMapper(); categories = mapper.readValue(json, mapper.getTypeFactory().constructCollectionType(List.class, Category.class)); // categories = mapper.readValue(json, new TypeReference<List<Category>>() {}); } catch (Exception e) { Log.e("MainActivity", "Error: " + e.getMessage()); } SimpleListView […]

如何在android中使用Jackson分析json响应?

我得到一些JSON响应通过点击url。 我想用jackson来parsingjson响应。 我试图用对象映射器,但我收到exception。 JSON: { "contacts": [ { "id": "c200", "name": "ravi raja", "email": "raja@gmail.com", "address": "xx-xx-xxxx,x – street, x – country", "gender" : "male", "phone": { "mobile": "+91 0000000000", "home": "00 000000", "office": "00 000000" } }, { "id": "c201", "name": "Johnny Depp", "email": "johnny_depp@gmail.com", "address": "xx-xx-xxxx,x – street, x – country", "gender" : […]