-
Notifications
You must be signed in to change notification settings - Fork 529
Description
here is the code,
String test ="{\"rs\":true,\"code\":200}";
TestEntity entity = JsonIterator.deserialize(test, TestEntity.class);
Log.i(TAG, "testJsoniter2: " + entity.toString());public class TestEntity {
public String error;
@JsonProperty(value = "rs", required = true)
public boolean result;
@JsonProperty(value = "code",required = true)
public int code2;
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("code=");
builder.append(code2);
builder.append(" rs=");
builder.append(result);
return builder.toString();
}
}json-iterator can't read the custom field "last_modify", and throw an exception
07-31 15:45:30.271 30809-30809/com.jsoniter.test W/System.err: com.jsoniter.spi.JsonException: com.jsoniter.spi.JsonException: missing required properties: [rs, code]
07-31 15:45:30.272 30809-30809/com.jsoniter.test W/System.err: at com.jsoniter.ReflectionObjectDecoder$OnlyField.decode(ReflectionObjectDecoder.java:119)
07-31 15:45:30.272 30809-30809/com.jsoniter.test W/System.err: at com.jsoniter.JsonIterator.read(JsonIterator.java:369)
07-31 15:45:30.272 30809-30809/com.jsoniter.test W/System.err: at jsoniter.JsoniterResponseBodyConverter.convert(JsoniterResponseBodyConverter.java:44)
07-31 15:45:30.272 30809-30809/com.jsoniter.test W/System.err: at jsoniter.JsoniterResponseBodyConverter.convert(JsoniterResponseBodyConverter.java:30)
07-31 15:45:30.272 30809-30809/com.jsoniter.test W/System.err: at retrofit2.ServiceMethod.toResponse(ServiceMethod.java:119)
07-31 15:45:30.272 30809-30809/com.jsoniter.test W/System.err: at retrofit2.OkHttpCall.parseResponse(OkHttpCall.java:218)
07-31 15:45:30.272 30809-30809/com.jsoniter.test W/System.err: at retrofit2.OkHttpCall.execute(OkHttpCall.java:180)
07-31 15:45:30.273 30809-30809/com.jsoniter.test W/System.err: at retrofit2.adapter.rxjava2.CallExecuteObservable.subscribeActual(CallExecuteObservable.java:41)
07-31 15:45:30.273 30809-30809/com.jsoniter.test W/System.err: at io.reactivex.Observable.subscribe(Observable.java:10901)
07-31 15:45:30.273 30809-30809/com.jsoniter.test W/System.err: at retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(BodyObservable.java:34)
07-31 15:45:30.273 30809-30809/com.jsoniter.test W/System.err: at io.reactivex.Observable.subscribe(Observable.java:10901)
07-31 15:45:30.273 30809-30809/com.jsoniter.test W/System.err: at io.reactivex.internal.operators.observable.ObservableSubscribeOn$SubscribeTask.run(ObservableSubscribeOn.java:96)
07-31 15:45:30.273 30809-30809/com.jsoniter.test W/System.err: at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:452)
07-31 15:45:30.273 30809-30809/com.jsoniter.test W/System.err: at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:61)
07-31 15:45:30.273 30809-30809/com.jsoniter.test W/System.err: at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:52)
07-31 15:45:30.273 30809-30809/com.jsoniter.test W/System.err: at java.util.concurrent.FutureTask.run(FutureTask.java:237)
07-31 15:45:30.273 30809-30809/com.jsoniter.test W/System.err: at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:272)
07-31 15:45:30.273 30809-30809/com.jsoniter.test W/System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
07-31 15:45:30.274 30809-30809/com.jsoniter.test W/System.err: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
07-31 15:45:30.274 30809-30809/com.jsoniter.test W/System.err: at java.lang.Thread.run(Thread.java:761)
07-31 15:45:30.274 30809-30809/com.jsoniter.test W/System.err: Caused by: com.jsoniter.spi.JsonException: missing required properties: [rs, code]
07-31 15:45:30.274 30809-30809/com.jsoniter.test W/System.err: at com.jsoniter.ReflectionObjectDecoder$OnlyField.decode_(ReflectionObjectDecoder.java:165)
07-31 15:45:30.274 30809-30809/com.jsoniter.test W/System.err: at com.jsoniter.ReflectionObjectDecoder$OnlyField.decode(ReflectionObjectDecoder.java:117)
07-31 15:45:30.274 30809-30809/com.jsoniter.test W/System.err: ... 19 more
This is right as I'v used?