GSON десериализует строку json без всех полей - PullRequest
0 голосов
/ 03 сентября 2018

У меня есть объект Java с таким количеством полей ...

 public class Foo {
        private String field0;
        private String field1;
        private String field2;
        private String field3;
        private String field4;
        private String field5;
        private String field6;
        private String field7;
        private String field8;
        private String field9;

        // Getters and Setters...

    }

И у меня есть следующий JSONString ...

{\"field0\": \"value0\", \"field1\": \"value1\"}

Я создаю экземпляр Gson с помощью GsonBuilder () следующим образом ...

        gson = new GsonBuilder()//
                .disableHtmlEscaping()//
                .setFieldNamingPolicy(FieldNamingPolicy.UPPER_CAMEL_CASE) //
                .setPrettyPrinting()//
                .serializeNulls()//
                .setDateFormat("yyyy/MM/dd HH:mm:ss [Z]")//
                .create();

И когда я звоню gson.fromJson(JSONString, Foo.class);, я получаю новый экземпляр Foo со всеми полями, установленными как null. Даже field0 и field1, которые были указаны в моем JsonString ...

Как можно десериализовать JSONString выше, чтобы получить экземпляр с установленными field0 и field1?

1 Ответ

0 голосов
/ 03 сентября 2018

Вы установили FieldNamingPolicy.UPPER_CAMEL_CASE, измените строку JSON на {\"Field0\": \"value0\", \"Field1\": \"value1\"}.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...