Джексон сортирует JSON сериализованные выходные ключи в алфавитном порядке на Android - PullRequest
0 голосов
/ 06 февраля 2019

Я создаю приложение для Android и хочу, чтобы оно сериализовало некоторые объекты Java в вывод String JSON.Я использую библиотеку Джексона.

Я создал метод, который принимает объект в качестве входных данных и выводит String JSON.Когда этот код выполняется на моем компьютере, я правильно получаю вывод JSON, а это означает, что ключи вывода поддерживают порядок, в котором они объявлены в моем объекте.Когда код работает на телефоне Android с помощью Android Studio, ключи сортируются в алфавитном порядке.Это нежелательно в моем случае.

Вот код:

public String toJSON(Object obj){
    ObjectMapper mapper = new ObjectMapper();
    mapper.setVisibility(PropertyAccessor.FIELD, JsonAutoDetect.Visibility.ANY);

    try {

        // Convert object to JSON string
        String jsonInString = mapper.writeValueAsString(obj);
        return jsonInString;

    } catch (JsonGenerationException e) {
        e.printStackTrace();
        return "Error";
    } catch (JsonMappingException e) {
        e.printStackTrace();
        return "Error";
    } catch (IOException e) {
        e.printStackTrace();
        return "Error";
    }
}

1 Ответ

0 голосов
/ 06 февраля 2019

Вы можете явно указать Джексону, в каком порядке вы хотите использовать свои свойства, используя аннотацию.Смотрите это ...

https://www.logicbig.com/tutorials/misc/jackson/json-property-order-annotation.html

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