Поиск…


Вступление

Джексон - многоцелевая библиотека Java для обработки JSON. Джексон стремится быть наилучшим сочетанием быстрого, правильного, легкого и эргономичного для разработчиков.

Особенности Джексона:

Режим многопроцессорной обработки и очень хорошее сотрудничество

Не только аннотации, но и смешанные аннотации

Полностью поддерживайте общие типы

Поддержка полиморфных типов

Полный пример привязки данных

Данные JSON

{
  "name" : { "first" : "Joe", "last" : "Sixpack" },
  "gender" : "MALE",
  "verified" : false,
  "userImage" : "keliuyue"
}

Для превращения его в экземпляр пользователя требуется две строки Java:

ObjectMapper mapper = new ObjectMapper(); // can reuse, share globally
User user = mapper.readValue(new File("user.json"), User.class);

User.class

public class User {

    public enum Gender {MALE, FEMALE};

    public static class Name {
        private String _first, _last;

        public String getFirst() {
            return _first;
        }

        public String getLast() {
            return _last;
        }

        public void setFirst(String s) {
            _first = s;
        }

        public void setLast(String s) {
            _last = s;
        }
    }

    private Gender _gender;
    private Name _name;
    private boolean _isVerified;
    private byte[] _userImage;

    public Name getName() {
        return _name;
    }

    public boolean isVerified() {
        return _isVerified;
    }

    public Gender getGender() {
        return _gender;
    }

    public byte[] getUserImage() {
        return _userImage;
    }

    public void setName(Name n) {
        _name = n;
    }

    public void setVerified(boolean b) {
        _isVerified = b;
    }

    public void setGender(Gender g) {
        _gender = g;
    }

    public void setUserImage(byte[] b) {
        _userImage = b;
    }
}

Маршаллинг назад к JSON аналогичен прямому:

mapper.writeValue(new File("user-modified.json"), user);


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow