Retrofit 2, Джексон не может десериализовать внутреннюю строку jsonString и не может удалить escape-символ

Данные ответа сервера:

{
    "data": "{\"domain\":{\"Logical\":\"small_logical.png\",\"Physical\":\"small_physical.png\"}"
}

onFailure: не удается создать экземпляр значения типа [простой тип, класс com.mobile.app.model.Responses.Data] из значения String ('{"domain":{"Logical":

Проблема:

Внутренний объект json начинается с двойных кавычек, поэтому Джексон не может десериализовать - "{\"domain\":

Я пытался с десериализацией Джексона, но ничего не работает.

public class RestClient {


    private static final String TAG = "RestClient";

    private static RestApi REST_CLIENT;

    public static RestApi get() {
        return REST_CLIENT;
    }

    public static String RestApiUrl() {
            return ROOT;
    }

    public static void setupRestClient() {


        ObjectMapper objectMapper = new ObjectMapper();

       SimpleModule module = new SimpleModule();
       module.addDeserializer(String.class, new ItemDeserializer());
       objectMapper.registerModule(module);


        Retrofit restAdapter = new Retrofit.Builder()
                .baseUrl(RestApiUrl())
                .client(client)
                .client(getUnsafeOkHttpClient())
                .addConverterFactory(JacksonConverterFactory.create(objectMapper)).build();
        REST_CLIENT = restAdapter.create(RestApi.class);
    }

}

public class ItemDeserializer  extends StdDeserializer<String> {

    private static final String TAG = "ItemDeserializer";

    public ItemDeserializer() {
        this(null);
    }

    public ItemDeserializer(Class<?> vc) {
        super(vc);
    }

    @Override
    public String deserialize(JsonParser jp, DeserializationContext ctxt)
            throws IOException, JsonProcessingException {

        ObjectMapper objectMapper = new ObjectMapper();

        String jsonValue = jp.getValueAsString();
        JSONObject jsonObject = null;
        try {
             jsonObject = new JSONObject(jsonValue);
        } catch (JSONException e) {
            e.printStackTrace();
        }

        Log.i(TAG, "deserializecustom: " + objectMapper.writeValueAsString(jsonObject));

        return objectMapper.writeValueAsString(jsonObject);
    }
}

person Chokkar G    schedule 13.12.2017    source источник
comment
Возможный дубликат Jackson - Как обрабатывать (десериализовать) вложенный JSON?   -  person Zoe    schedule 13.12.2017
comment
Я пытался, но не работал. ('{домен — одинарная кавычка добавляется при десериализации с использованием jackson.   -  person Chokkar G    schedule 13.12.2017