Учебники

Джексон — Краткое руководство

обзор

Jackson — это простая библиотека на основе Java для сериализации Java-объектов в JSON и наоборот.

Характеристики

  • Легко использовать. — Jackson API предоставляет фасад высокого уровня для упрощения часто используемых случаев использования.

  • Нет необходимости создавать карты. — Джексон API обеспечивает отображение по умолчанию для большинства объектов, которые будут сериализованы.

  • Спектакль. — Джексон работает быстро и занимает мало памяти и подходит для больших графов объектов или систем.

  • Чистый JSON. — Джексон создает чистые и компактные результаты в формате JSON, которые легко читаются.

  • Нет зависимости. — Библиотека Джексона не требует никакой другой библиотеки, кроме JDK.

  • Open Source — библиотека Джексона с открытым исходным кодом и бесплатна для использования.

Легко использовать. — Jackson API предоставляет фасад высокого уровня для упрощения часто используемых случаев использования.

Нет необходимости создавать карты. — Джексон API обеспечивает отображение по умолчанию для большинства объектов, которые будут сериализованы.

Спектакль. — Джексон работает быстро и занимает мало памяти и подходит для больших графов объектов или систем.

Чистый JSON. — Джексон создает чистые и компактные результаты в формате JSON, которые легко читаются.

Нет зависимости. — Библиотека Джексона не требует никакой другой библиотеки, кроме JDK.

Open Source — библиотека Джексона с открытым исходным кодом и бесплатна для использования.

Три способа обработки JSON

Джексон предлагает три альтернативных способа обработки JSON

  • Потоковый API — читает и записывает контент JSON как отдельные события. JsonParser читает данные, тогда как JsonGenerator записывает данные. Это самый мощный подход из трех, с минимальными накладными расходами и самый быстрый в операциях чтения / записи. Это аналог синтаксического анализатора Stax для XML.

  • Модель дерева — готовит представление дерева JSON в памяти. ObjectMapper построить дерево узлов JsonNode. Это самый гибкий подход. Это аналог парсера DOM для XML.

  • Привязка данных — преобразует JSON в POJO (простой старый объект Java) и обратно, используя метод доступа к свойствам или аннотации. Это двух типов.

    • Простое связывание данных — преобразует JSON в и из Java-карт, списков, строк, чисел, логических и нулевых объектов.

    • Полная привязка данных — преобразует JSON в любой тип JAVA.

    ObjectMapper читает / записывает JSON для обоих типов привязок данных. Привязка данных является наиболее удобным способом и аналогом JAXB parer для XML.

Потоковый API — читает и записывает контент JSON как отдельные события. JsonParser читает данные, тогда как JsonGenerator записывает данные. Это самый мощный подход из трех, с минимальными накладными расходами и самый быстрый в операциях чтения / записи. Это аналог синтаксического анализатора Stax для XML.

Модель дерева — готовит представление дерева JSON в памяти. ObjectMapper построить дерево узлов JsonNode. Это самый гибкий подход. Это аналог парсера DOM для XML.

Привязка данных — преобразует JSON в POJO (простой старый объект Java) и обратно, используя метод доступа к свойствам или аннотации. Это двух типов.

Простое связывание данных — преобразует JSON в и из Java-карт, списков, строк, чисел, логических и нулевых объектов.

Полная привязка данных — преобразует JSON в любой тип JAVA.

Настройка среды

Попробуйте вариант онлайн

Вам действительно не нужно настраивать собственную среду, чтобы начать изучать Guava, библиотеку на основе JAVA. Причина очень проста: мы уже настроили среду Java-программирования онлайн, так что вы можете скомпилировать и выполнить все доступные примеры в режиме онлайн одновременно с работой над теорией. Это дает вам уверенность в том, что вы читаете, и проверить результат с различными вариантами. Не стесняйтесь изменять любой пример и выполнять его онлайн.

Попробуйте следующий пример, используя опцию Try it, доступную в правом верхнем углу приведенного ниже примера кода:

 открытый класс MyFirstJavaProgram {

     public static void main (String [] args) {
        System.out.println («Привет, мир»);
     }
 } 

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

Вам действительно не нужно настраивать собственную среду, чтобы начать изучать Guava, библиотеку на основе JAVA. Причина очень проста: мы уже настроили среду Java-программирования онлайн, так что вы можете скомпилировать и выполнить все доступные примеры в режиме онлайн одновременно с работой над теорией. Это дает вам уверенность в том, что вы читаете, и проверить результат с различными вариантами. Не стесняйтесь изменять любой пример и выполнять его онлайн.

Попробуйте следующий пример, используя опцию Try it, доступную в правом верхнем углу приведенного ниже примера кода:

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

Настройка локальной среды

Если вы все еще хотите настроить свою среду для языка программирования Java, то в этом разделе вы узнаете, как загрузить и настроить Java на вашем компьютере. Пожалуйста, выполните следующие шаги для настройки среды.

Java SE находится в свободном доступе по ссылке Скачать Java . Таким образом, вы загружаете версию, основанную на вашей операционной системе.

Следуйте инструкциям для загрузки Java и запуска .exe для установки Java на вашем компьютере. После того, как вы установили Java на свой компьютер, вам нужно будет установить переменные окружения, чтобы они указывали на правильные каталоги установки:

Настройка пути для Windows 2000 / XP:

Предполагая, что вы установили Java в каталог c: \ Program Files \ java \ jdk :

  • Щелкните правой кнопкой мыши «Мой компьютер» и выберите «Свойства».

  • Нажмите кнопку «Переменные среды» на вкладке «Дополнительно».

  • Теперь измените переменную Path, чтобы она также содержала путь к исполняемому файлу Java. Например, если в настоящий момент путь задан как «C: \ WINDOWS \ SYSTEM32», измените ваш путь на «C: \ WINDOWS \ SYSTEM32; c: \ Program Files \ java \ jdk \ bin».

Щелкните правой кнопкой мыши «Мой компьютер» и выберите «Свойства».

Нажмите кнопку «Переменные среды» на вкладке «Дополнительно».

Теперь измените переменную Path, чтобы она также содержала путь к исполняемому файлу Java. Например, если в настоящий момент путь задан как «C: \ WINDOWS \ SYSTEM32», измените ваш путь на «C: \ WINDOWS \ SYSTEM32; c: \ Program Files \ java \ jdk \ bin».

Настройка пути для Windows 95/98 / ME:

Предполагая, что вы установили Java в каталог c: \ Program Files \ java \ jdk :

  • Отредактируйте файл ‘C: \ autoexec.bat’ и добавьте следующую строку в конце:
    ‘SET PATH =% PATH%; C: \ Program Files \ java \ jdk \ bin’

Отредактируйте файл ‘C: \ autoexec.bat’ и добавьте следующую строку в конце:
‘SET PATH =% PATH%; C: \ Program Files \ java \ jdk \ bin’

Настройка пути для Linux, UNIX, Solaris, FreeBSD:

Переменная среды PATH должна указывать на то, где установлены двоичные файлы Java. Обратитесь к документации по вашей оболочке, если у вас возникли проблемы с этим.

Например, если вы используете bash в качестве оболочки, вы добавили бы следующую строку в конец вашего .bashrc: export PATH = / path / to / java: $ PATH ‘

Популярные редакторы Java:

Для написания ваших программ на Java вам понадобится текстовый редактор. На рынке доступны еще более сложные IDE. Но сейчас вы можете рассмотреть один из следующих:

  • Блокнот: на компьютере с Windows вы можете использовать любой простой текстовый редактор, например Блокнот (рекомендуется для этого урока), TextPad.

  • Netbeans: Java IDE с открытым исходным кодом, который можно бесплатно загрузить по адресу http://www.netbeans.org/index.html .

  • Eclipse: также Java IDE, разработанная сообществом открытого исходного кода eclipse и может быть загружена с http://www.eclipse.org/ .

Блокнот: на компьютере с Windows вы можете использовать любой простой текстовый редактор, например Блокнот (рекомендуется для этого урока), TextPad.

Netbeans: Java IDE с открытым исходным кодом, который можно бесплатно загрузить по адресу http://www.netbeans.org/index.html .

Eclipse: также Java IDE, разработанная сообществом открытого исходного кода eclipse и может быть загружена с http://www.eclipse.org/ .

Скачать архив Джексона

Загрузите последнюю версию файла фляги Джексона из репозитория Maven — Джексон . В этом руководстве загружаются и копируются в папку jackson C: \> jackson-core-2.8.9.jar, jackson-annotations-2.8.9.jar и jackson-databind-2.8.9.jar.

Операционные системы Название архива
Windows ДЖЕКСОНА-ххх-2.8.9.jar
Linux ДЖЕКСОНА-ххх-2.8.9.jar
макинтош ДЖЕКСОНА-ххх-2.8.9.jar

Установить среду Джексона

Установите переменную окружения jackson_HOME так, чтобы она указывала на местоположение базовой директории, где на вашем компьютере хранится java-архив. Предполагая, что мы извлекли jackson-core-2.8.9.jar, jackson-annotations-2.8.9.jar и jackson-databind-2.8.9.jar в папке jackson в различных операционных системах следующим образом.

Операционные системы Выход
Windows Установите переменную окружения jackson_HOME в C: \ jackson
Linux export jackson_HOME = / usr / local / jackson
макинтош export jackson_HOME = / Библиотека / Джексон

Установить переменную CLASSPATH

Установите переменную среды CLASSPATH, чтобы она указывала на расположение банки Джексона. Предполагая, что мы сохранили jackson-core-2.8.9.jar, jackson-annotations-2.8.9.jar и jackson-databind-2.8.9.jar в папке jackson в различных операционных системах следующим образом.

Операционные системы Выход
Windows Установите для переменной среды CLASSPATH значение% CLASSPATH%;% jackson_HOME% \ jackson-core-2.8.9.jar;% jackson_HOME% \ jackson-databind-2.8.9.jar;% jackson_HOME% \ jackson-annotations-2.8.9. баночка;.;
Linux export CLASSPATH = $ CLASSPATH: $ jackson_HOME / jackson-core-2.8.9.jar: $ jackson_HOME / jackson-databind-2.8.9.jar: $ jackson_HOME / jackson-annotations-2.8.9.jar :.
макинтош export CLASSPATH = $ CLASSPATH: $ jackson_HOME / jackson-core-2.8.9.jar: $ jackson_HOME / jackson-databind-2.8.9.jar: $ jackson_HOME / jackson-annotations-2.8.9.jar :.

Первое приложение

Прежде чем углубляться в детали библиотеки Джексона, давайте посмотрим на приложение в действии. В этом примере мы создали класс Student. Мы создадим строку JSON с данными ученика и десериализовали бы ее в объект ученика, а затем сериализовали в строку JSON.

Создайте файл Java-класса с именем JacksonTester в C: \> Jackson_WORKSPACE .

Файл: JacksonTester.java

 импорт java.io.IOException;

 import com.fasterxml.jackson.core.JsonParseException;
 import com.fasterxml.jackson.databind.JsonMappingException;
 import com.fasterxml.jackson.databind.ObjectMapper;

 открытый класс JacksonTester {
    public static void main (String args []) {
   
       ObjectMapper mapper = new ObjectMapper ();
       String jsonString = "{\" name \ ": \" Mahesh \ ", \" age \ ": 21}";
      
       // сопоставить JSON со студентом
       пытаться{
          Student student = mapper.readValue (jsonString, Student.class);
         
          System.out.println (студент);
         
          jsonString = mapper.writerWithDefaultPrettyPrinter (). writeValueAsString (student);
         
          System.out.println (jsonString);
       }
       catch (JsonParseException e) {e.printStackTrace ();}
       catch (JsonMappingException e) {e.printStackTrace ();  }
       catch (IOException e) {e.printStackTrace ();  }
    }
 }

 ученик класса {
    личное строковое имя;
    частный возраст;
    государственный студент () {}
    public String getName () {
       вернуть имя;
    }
    public void setName (String name) {
       this.name = имя;
    }
    public int getAge () {
       возвращаемый возраст;
    }
    public void setAge (int age) {
       this.age = возраст;
    }
    public String toString () {
       return "Студент [имя:" + имя + ", возраст:" + возраст + "]";
    }
 }

Проверьте результат

Скомпилируйте классы, используя компилятор javac следующим образом:

C:\Jackson_WORKSPACE>javac JacksonTester.java

Теперь запустите jacksonTester, чтобы увидеть результат:

C:\Jackson_WORKSPACE>java JacksonTester

Проверьте вывод

Student [ name: Mahesh, age: 21 ]
{
  "name" : "Mahesh",
  "age" : 21
}

Шаги, чтобы запомнить

Ниже приведены важные шаги, которые следует рассмотреть здесь.

Шаг 1: Создайте объект ObjectMapper.

Создать объект ObjectMapper. Это повторно используемый объект.

ObjectMapper mapper = new ObjectMapper();

Шаг 2: Десериализуйте JSON в объект.

Используйте метод readValue (), чтобы получить объект из JSON. Передать строку json / источник строки json и тип объекта в качестве параметра.

//Object to JSON Conversion
Student student = mapper.readValue(jsonString, Student.class);

Шаг 3: Сериализация объекта в JSON.

Используйте метод writeValueAsString () для получения строкового представления объекта в формате JSON.

//Object to JSON Conversion		
jsonString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(student);

Класс ObjectMapper

ObjectMapper — основной актерский класс библиотеки Джексона. Класс ObjectMapper ObjectMapper предоставляет функциональные возможности для чтения и записи JSON как в базовые объекты POJO (простые старые объекты Java), так и из общей модели дерева JSON (JsonNode), а также в связанные функции для выполнения преобразований. Он также обладает широкими возможностями настройки для работы как с различными стилями содержимого JSON, так и для поддержки более сложных концепций объектов, таких как полиморфизм и идентичность объектов. ObjectMapper также действует как фабрика для более продвинутых классов ObjectReader и ObjectWriter.

Декларация класса

Ниже приводится объявление для класса com.fasterxml.jackson.databind.ObjectMapper.

public class ObjectMapper
   extends ObjectCodec
      implements Versioned, Serializable

Вложенные классы

S.No. Класс и описание
1 статический класс ObjectMapper.DefaultTypeResolverBuilder

Настраиваемый TypeResolverBuilder, который предоставляет компоновщики распознавателя типов, используемые с так называемой «типизацией по умолчанию» (подробнее см. EnableDefaultTyping ()).

2 статический класс ObjectMapper.DefaultTyping

Перечисление, используемое с enableDefaultTyping (), чтобы указать, для каких типов (классов) следует использовать типизацию по умолчанию.

Настраиваемый TypeResolverBuilder, который предоставляет компоновщики распознавателя типов, используемые с так называемой «типизацией по умолчанию» (подробнее см. EnableDefaultTyping ()).

Перечисление, используемое с enableDefaultTyping (), чтобы указать, для каких типов (классов) следует использовать типизацию по умолчанию.

поля

  • protected DeserializationConfig _deserializationConfig — объект конфигурации, который определяет основные глобальные параметры для процесса сериализации.

  • защищенный DefaultDeserializationContext _deserializationContext — объект контекста Blueprint; хранится здесь, чтобы позволить пользовательские подклассы.

  • protected InjectableValues ​​_injectableValues — Поставщик для значений для внедрения в десериализованные POJO.

  • protected JsonFactory _jsonFactory — Фабрика, используемая для создания экземпляров JsonParser и JsonGenerator по мере необходимости.

  • protected SimpleMixInResolver _mixIns — Сопоставление, которое определяет, как применять смешанные аннотации: ключ — это тип к полученным дополнительным аннотациям, а значение — это тип, который имеет аннотации для «смешивания».

  • protected ConfigOverrides _propertyOverrides — в настоящее время активные переопределения конфигурации для типа, доступные по объявленному типу свойства.

  • protected Set <Object> _registeredModuleTypes — Набор типов модулей (согласно Module.getTypeId (), которые были зарегистрированы; отслеживание iff MapperFeature.IGNORE_DUPLICATE_MODULE_REGISTRATIONS включен, так что дублирующие вызовы регистрации могут игнорироваться (чтобы избежать добавления одних и тех же обработчиков несколько раз) , в основном).

  • protected ConcurrentHashMap <JavaType, JsonDeserializer <Object >> _rootDeserializer — мы будем использовать отдельную карту основного уровня для отслеживания десериализаторов корневого уровня.

  • protected SerializationConfig _serializationConfig — Объект конфигурации, который определяет основные глобальные параметры для процесса сериализации.

  • protected SerializerFactory _serializerFactory — Фабрика сериализатора, используемая для создания сериализаторов.

  • protected DefaultSerializerProvider _serializerProvider — Объект, который управляет доступом к сериализаторам, используемым для сериализации, включая кеширование.

  • protected SubtypeResolver _subtypeResolver — вещь, используемая для регистрации подтипов, разрешения их в супер / субтипы по мере необходимости.

  • protected TypeFactory _typeFactory — Специальная фабрика, используемая для создания экземпляров JavaType; необходимо разрешить модулям добавлять больше пользовательских обработчиков типов (в основном для поддержки типов не Java-языков JVM).

  • защищенная статическая аннотацияИнтроспектор DEFAULT_ANNOTATION_INTROSPECTOR

  • Защищенные статические базовые параметры DEFAULT_BASE — базовые параметры содержат значения по умолчанию, используемые для всех экземпляров ObjectMapper.

  • защищенный статический VisibilityChecker <?> STD_VISIBILITY_CHECKER

protected DeserializationConfig _deserializationConfig — объект конфигурации, который определяет основные глобальные параметры для процесса сериализации.

защищенный DefaultDeserializationContext _deserializationContext — объект контекста Blueprint; хранится здесь, чтобы позволить пользовательские подклассы.

protected InjectableValues ​​_injectableValues — Поставщик для значений для внедрения в десериализованные POJO.

protected JsonFactory _jsonFactory — Фабрика, используемая для создания экземпляров JsonParser и JsonGenerator по мере необходимости.

protected SimpleMixInResolver _mixIns — Сопоставление, которое определяет, как применять смешанные аннотации: ключ — это тип к полученным дополнительным аннотациям, а значение — это тип, который имеет аннотации для «смешивания».

protected ConfigOverrides _propertyOverrides — в настоящее время активные переопределения конфигурации для типа, доступные по объявленному типу свойства.

protected Set <Object> _registeredModuleTypes — Набор типов модулей (согласно Module.getTypeId (), которые были зарегистрированы; отслеживание iff MapperFeature.IGNORE_DUPLICATE_MODULE_REGISTRATIONS включен, так что дублирующие вызовы регистрации могут игнорироваться (чтобы избежать добавления одних и тех же обработчиков несколько раз) , в основном).

protected ConcurrentHashMap <JavaType, JsonDeserializer <Object >> _rootDeserializer — мы будем использовать отдельную карту основного уровня для отслеживания десериализаторов корневого уровня.

protected SerializationConfig _serializationConfig — Объект конфигурации, который определяет основные глобальные параметры для процесса сериализации.

protected SerializerFactory _serializerFactory — Фабрика сериализатора, используемая для создания сериализаторов.

protected DefaultSerializerProvider _serializerProvider — Объект, который управляет доступом к сериализаторам, используемым для сериализации, включая кеширование.

protected SubtypeResolver _subtypeResolver — вещь, используемая для регистрации подтипов, разрешения их в супер / субтипы по мере необходимости.

protected TypeFactory _typeFactory — Специальная фабрика, используемая для создания экземпляров JavaType; необходимо разрешить модулям добавлять больше пользовательских обработчиков типов (в основном для поддержки типов не Java-языков JVM).

защищенная статическая аннотацияИнтроспектор DEFAULT_ANNOTATION_INTROSPECTOR

Защищенные статические базовые параметры DEFAULT_BASE — базовые параметры содержат значения по умолчанию, используемые для всех экземпляров ObjectMapper.

защищенный статический VisibilityChecker <?> STD_VISIBILITY_CHECKER

Конструкторы

S.No. Конструктор и описание
1 ObjectMapper ()

Конструктор по умолчанию, который будет создавать JsonFactory по умолчанию при необходимости, использует SerializerProvider в качестве своего SerializerProvider, а BeanSerializerFactory в качестве его SerializerFactory.

2 ObjectMapper (JsonFactory jf)

Создает экземпляр, который использует указанный JsonFactory для создания необходимых JsonParsers и / или JsonGenerators.

3 ObjectMapper (JsonFactory jf, SerializerProvider sp, DeserializerProvider dp)

Создает экземпляр, который использует указанный JsonFactory для создания необходимых JsonParsers и / или JsonGenerators, и использует указанные провайдеры для доступа к сериализаторам и десериализаторам.

4 защищенный ObjectMapper (ObjectMapper src)

Copy-конструктор, в основном используется для поддержки copy ().

Конструктор по умолчанию, который будет создавать JsonFactory по умолчанию при необходимости, использует SerializerProvider в качестве своего SerializerProvider, а BeanSerializerFactory в качестве его SerializerFactory.

Создает экземпляр, который использует указанный JsonFactory для создания необходимых JsonParsers и / или JsonGenerators.

Создает экземпляр, который использует указанный JsonFactory для создания необходимых JsonParsers и / или JsonGenerators, и использует указанные провайдеры для доступа к сериализаторам и десериализаторам.

Copy-конструктор, в основном используется для поддержки copy ().

методы

Переопределяемый вспомогательный метод, используемый для создания SerializerProvider для использования для сериализации. void addMixInAnnotations (Class <?> target, Class <?> mixinSource) — устарело. Начиная с 2.5: заменена беглая форма метода; addMixIn (Класс, Класс). protected DefaultDeserializationContext createDeserializationContext (JsonParser p, DeserializationConfig cfg) — внутренний вспомогательный метод, вызываемый для создания экземпляра DeserializationContext для десериализации одного корневого значения. JsonSchema generateJsonSchema (Class <?> T) — устарело. Начиная с версии 2.6 используется внешний генератор JSON Schema (https://github.com/FasterXML/jackson-module-jsonSchema) (который под капотом вызывает acceptJsonFormatVisitor (JavaType, JsonFormatVisitorWrapper)) void registerSubtypes (Class <?> … classes) — Метод регистрации указанного класса в качестве подтипа, чтобы разрешение на основе типов имен могло связывать супертипы с подтипами (в качестве альтернативы использованию аннотаций). void setFilters (FilterProvider filterProvider) — устарел. Начиная с версии 2.6, вместо этого используйте setFilterProvider (com.fasterxml.jackson.databind.ser.FilterProvider) (позволяет связывать) Фабричный метод для создания ObjectReader, который будет использовать указанные символы, экранирующие детали для вывода.

1 protected void _checkInvalidCopy (Class <?> exp)

2 protected void _configAndWriteValue (JsonGenerator g, Object value) — Метод, вызываемый для настройки генератора при необходимости, а затем вызова функции записи
3 protected Object _convert (Object fromValue, JavaType toValueType) — Реальная реализация преобразования: вместо использования существующих методов чтения и записи большая часть кода является встроенной.
4 protected JsonDeserializer <Object> _findRootDeserializer (DeserializationContext ctxt, JavaType valueType) — Метод, вызываемый для поиска десериализатора для переданного значения корневого уровня.
5 protected JsonToken _initForReading (JsonParser p) — Метод, вызываемый, чтобы гарантировать, что данный синтаксический анализатор готов к чтению контента для привязки данных.
6 protected ObjectReader _newReader (конфигурация DeserializationConfig) — подклассы метода фабрики должны переопределить, чтобы произвести экземпляры ObjectReader надлежащего подтипа
7 protected ObjectReader _newReader (конфигурация DeserializationConfig, JavaType valueType, Object valueToUpdate, схема FormatSchema, InjectableValues ​​injectableValues)Подклассы метода Factory должны переопределить, чтобы создать экземпляры ObjectReader соответствующего подтипа
8 protected ObjectWriter _newWriter (SerializationConfig config) — подклассы метода фабрики должны переопределить, чтобы произвести экземпляры ObjectWriter правильного подтипа
9 protected ObjectWriter _newWriter (конфигурация SerializationConfig, схема FormatSchema) — подклассы метода фабрики должны переопределить, чтобы получить экземпляры ObjectWriter правильного подтипа
10 protected ObjectWriter _newWriter (SerializationConfig config, JavaType rootType, PrettyPrinter pp)Подклассы метода фабрики должны переопределить, чтобы получить экземпляры ObjectWriter надлежащего подтипа.
11 защищенный объект _readMapAndClose (JsonParser p0, JavaType valueType)
12 Защищенный объект _readValue (DeserializationConfig cfg, JsonParser p, JavaType valueType) — Фактическая реализация операции чтения значения + операции привязки.
13 защищенный DefaultSerializerProvider _serializerProvider (конфигурация SerializationConfig)
14 защищенный объект _unwrapAndDeserialize (JsonParser p, DeserializationContext ctxt, конфигурация DeserializationConfig, JavaType rootType, JsonDeserializer <Object> deser)
15 protected void _verifySchemaType (схема FormatSchema)
16 void acceptJsonFormatVisitor (тип Class <?>, посетитель JsonFormatVisitorWrapper) — метод для посещения иерархии типов для данного типа с использованием указанного посетителя.
17 void acceptJsonFormatVisitor (тип JavaType, посетитель JsonFormatVisitorWrapper) — метод для посещения иерархии типов для данного типа с использованием указанного посетителя.
18 ObjectMapper addHandler (DeserializationProblemHandler h) — Метод добавления указанного DeserializationProblemHandler, который будет использоваться для обработки определенных проблем во время десериализации.
19 ObjectMapper addMixIn (Class <?> Target, Class <?> MixinSource) — метод, используемый для добавления смешанных аннотаций, используемых для дополнения указанного класса или интерфейса.
20 boolean canDeserialize (тип JavaType) — метод, который можно вызвать, чтобы проверить, считает ли картограф, что он может десериализовать объект заданного типа.
21 boolean canDeserialize (тип JavaType, причина AtomicReference <Throwable>) — метод, аналогичный canDeserialize (JavaType), но который может возвращать фактический Throwable, который был выдан при попытке создания сериализатора: это может быть полезно при выяснении фактической проблемы.
22 boolean canSerialize (Class <?> type) — Метод, который можно вызвать, чтобы проверить, думает ли mapper, что он может сериализовать экземпляр данного класса.
23 boolean canSerialize (класс <?> тип, AtomicReference <Throwable> причина) — метод, аналогичный canSerialize (Class), но который может возвращать фактический Throwable, который был сгенерирован при попытке создания сериализатора: это может быть полезно при выяснении фактической проблемы ,
24 ObjectMapper clearProblemHandlers () — Метод для удаления всех зарегистрированных экземпляров DeserializationProblemHandlers из этого преобразователя.
25 MutableConfigOverride configOverride (Classlt;?> Type)средство доступа для получения изменяемого объекта конфигурации для данного типа, необходимого для добавления или изменения переопределений для каждого типа, применяемых к свойствам данного типа.
26 ObjectMapper configure (DeserializationFeature f, булево состояние) — Метод изменения состояния функции включения / выключения десериализации для этого сопоставителя объектов.
27 Конфигурация ObjectMapper (JsonGenerator.Feature f, логическое состояние) — Метод для изменения состояния функции включения / выключения JsonGenerator для экземпляров генератора, создаваемых этим сопоставителем объектов.
28 Конфигурация ObjectMapper (JsonParser.Feature f, логическое состояние) — Метод изменения состояния указанного JsonParser.Features для экземпляров синтаксического анализатора, который создает этот объектный преобразователь.
29 ObjectMapper configure (MapperFeature f, булево состояние) — метод изменения состояния функции включения / выключения сопоставления для этого экземпляра сопоставления.
30 ObjectMapper configure (SerializationFeature f, логическое состояние) — Метод изменения состояния функции сериализации включения / выключения для этого сопоставителя объектов.
31 JavaType constructType (Type t) — удобный метод для создания JavaType из заданного типа (обычно java.lang.Class), но без явного контекста.
32 <T> T convertValue (Object fromValue, Class <T> toValueType) — удобный метод для выполнения двухэтапного преобразования из заданного значения в экземпляр данного типа значения, если (но только если!) Преобразование необходимо.
33 <T> T convertValue (объект fromValue, JavaType toValueType) — см. ConvertValue (объект, класс)
34 <T> T convertValue (Object fromValue, TypeReference <?> ToValueTypeRef) — См. ConvertValue (Object, Class)
35 ObjectMapper copy () — Метод для создания нового экземпляра ObjectMapper, который имеет ту же начальную конфигурацию, что и этот экземпляр.
36 ArrayNode createArrayNode () — Примечание. Тип возвращаемого значения является ко-вариантом, поскольку базовая абстракция ObjectCodec не может ссылаться на конкретные типы узлов (так как это часть базового пакета, тогда как impls являются частью пакета mapper)
37 ObjectNode createObjectNode () — Примечание: возвращаемый тип является ко-вариантом, так как базовая абстракция ObjectCodec не может ссылаться на конкретные типы узлов (как часть основного пакета, тогда как impls являются частью пакета mapper)
38 protected ClassIntrospector defaultClassIntrospector () — Перезаписываемый вспомогательный метод, используемый для создания используемого ClassIntrospector по умолчанию.
39 ObjectMapper disable (функция DeserializationFeature) — метод включения определенных функций DeserializationConfig.
40 ObjectMapper disable (сначала DeserializationFeature, DeserializationFeature … f) — Метод включения определенных функций DeserializationConfig.
41 ObjectMapper disable (JsonGenerator.Feature … features) — Метод отключения указанного JsonGenerator.Features для экземпляров синтаксического анализатора, который создает этот объектный сопоставитель.
42 ObjectMapper disable (JsonParser.Feature … features) — Метод отключения указанных JsonParser.Features для экземпляров синтаксического анализатора, который создает этот объектный сопоставитель.
43 ObjectMapper disable (MapperFeature … f) — метод для включения определенных функций DeserializationConfig.
44 ObjectMapper disable (SerializationFeature f) — метод для включения определенных функций DeserializationConfig.
45 ObjectMapper disable (сначала SerializationFeature, SerializationFeature … f) — Метод включения определенных функций DeserializationConfig.
46 ObjectMapper disableDefaultTyping () — метод отключения автоматического включения информации о типе; если это так, только явно аннотированные типы (типы с JsonTypeInfo) будут иметь дополнительную информацию о встроенных типах.
47 ObjectMapper enable (функция DeserializationFeature) — метод для включения определенных функций DeserializationConfig.
48 ObjectMapper enable (сначала DeserializationFeature, DeserializationFeature … f) — Метод включения определенных функций DeserializationConfig.
49 ObjectMapper enable (JsonGenerator.Feature … features) — Метод включения указанных JsonGenerator.Features для экземпляров синтаксического анализатора, который создает этот объектный сопоставитель.
50 ObjectMapper enable (JsonParser.Feature … features) — Метод включения указанных JsonParser.Features для экземпляров синтаксического анализатора, который создает этот объектный сопоставитель.
51 ObjectMapper enable (MapperFeature … f) — Метод для включения определенных функций MapperConfig.
52 ObjectMapper enable (SerializationFeature f) — Метод включения указанной функции DeserializationConfig.
53 ObjectMapper enable (сначала SerializationFeature, SerializationFeature … f) — Метод включения определенных функций DeserializationConfig.
54 ObjectMapper enableDefaultTyping () — удобный метод, эквивалентный вызову
55 ObjectMapper enableDefaultTyping (ObjectMapper.DefaultTyping dti) — удобный метод, эквивалентный вызову
56 ObjectMapper enableDefaultTyping (применимость ObjectMapper.DefaultTyping, JsonTypeInfo.As includeAs) — метод, позволяющий автоматически включать информацию о типах, необходимую для правильной десериализации полиморфных типов (если типы не были аннотированы с помощью JsonTypeInfo).
57 ObjectMapper enableDefaultTypingAsProperty (применимость ObjectMapper.DefaultTyping, String propertyName) — метод включения автоматического включения информации о типах — необходим для правильной десериализации полиморфных типов (если типы не были аннотированы с помощью JsonTypeInfo) — с использованием механизма включения «As.PROPERTY» и заданного имя свойства, используемое для включения (по умолчанию это «@class», поскольку информация о типе по умолчанию всегда использует имя класса в качестве идентификатора типа)
58 ObjectMapper findAndRegisterModules () — удобный метод, который функционально эквивалентен: mapper.registerModules (mapper.findModules ());
59 Класс <?> FindMixInClassFor (Класс <?> Cls)
60 static List <Module> findModules () — Метод для поиска доступных методов, используя средство ServiceDoader JDK вместе с предоставленным модулем SPI.
61 static List <Module> findModules (ClassLoader classLoader) — Метод поиска доступных методов с использованием средства ServiceDoader JDK вместе с предоставленным модулем SPI.
62 DateFormat getDateFormat ()
63 DeserializationConfig getDeserializationConfig () — Метод, который возвращает общий объект DeserializationConfig по умолчанию, который определяет параметры конфигурации для десериализации.
64 DeserializationContext getDeserializationContext () — Метод для получения текущего DeserializationContext.
65 JsonFactory getFactory () — Метод, который можно использовать для получения JsonFactory, который использует этот маппер, если ему необходимо создать JsonParsers и / или JsonGenerators.
66 InjectableValues ​​getInjectableValues ​​()
67 JsonFactory getJsonFactory () — устарело. Начиная с версии 2.1: используйте взамен getFactory ()
68 JsonNodeFactory getNodeFactory () — Метод, который можно использовать для получения JsonNodeFactory, который этот преобразователь будет использовать при непосредственном создании корневых экземпляров JsonNode для деревьев.
69 PropertyNamingStrategy getPropertyNamingStrategy ()
70 SerializationConfig getSerializationConfig () — Метод, который возвращает общий объект SerializationConfig по умолчанию, который определяет параметры конфигурации для сериализации.
71 SerializerFactory getSerializerFactory () — Метод для получения текущего SerializerFactory.
72 SerializerProvider getSerializerProvider ()средство доступа для экземпляра «blueprint » (или, factory), из которого создаются экземпляры путем вызова DefaultSerializerProvider.createInstance (com.fasterxml.jackson.databind.SerializationConfig, com.fasterxml.jackson.databind.ser.SerializerFactory ).
73 SerializerProvider getSerializerProviderInstance ()средство доступа для создания и возврата экземпляра SerializerProvider, который можно использовать для доступа к сериализаторам.
74 SubtypeResolver getSubtypeResolver () — Метод доступа к используемому распознавателю подтипа.
75 TypeFactory getTypeFactory ()средство доступа для получения в настоящий момент настроенного экземпляра TypeFactory.
76 VisibilityChecker <?> GetVisibilityChecker () — Метод доступа к настроенному в настоящее время контролеру видимости; объект, используемый для определения, может ли данный элемент свойства (метод, поле, конструктор) быть автоматически обнаружен или нет.
77 boolean isEnabled (DeserializationFeature f) — метод для проверки, включена ли данная особенность, специфичная для десериализации.
78 boolean isEnabled (JsonFactory.Feature f) — удобный метод, эквивалентный:
79 логическое значение isEnabled (JsonGenerator.Feature f)
80 логическое значение isEnabled (JsonParser.Feature f)
81 boolean isEnabled (MapperFeature f) — Метод для проверки, включена ли данная MapperFeature.
82 boolean isEnabled (SerializationFeature f) — Метод для проверки, включена ли данная специфическая для сериализации функция.
83 int mixInCount ()
84 ObjectReader reader () — Фабричный метод для создания ObjectReader с настройками по умолчанию.
85 Читатель ObjectReader (Base64Variant defaultBase64) — фабричный метод для создания ObjectReader, который будет использовать указанный вариант кодирования Base64 для двоичных данных в кодировке Base64.
86 Читатель ObjectReader (класс <?> Тип) — устарел. Начиная с версии 2.5, используйте readerFor (Class) вместо
87 Читатель ObjectReader (ContextAttributes attrs) — фабричный метод для создания ObjectReader, который будет использовать определенные атрибуты по умолчанию.
88 Читатель ObjectReader (функция DeserializationFeature) — фабричный метод для создания ObjectReader с включенной указанной функцией (по сравнению с настройками, которые имеет этот экземпляр картографа).
89 Читатель ObjectReader (сначала DeserializationFeature, DeserializationFeature … other) — Фабричный метод для создания ObjectReader с включенными заданными функциями (по сравнению с настройками, которые имеет этот экземпляр сопоставителя).
90 Читатель ObjectReader (схема FormatSchema) — Фабричный метод для создания ObjectReader, который передает конкретный объект схемы в JsonParser, используемый для чтения содержимого.
91 Читатель ObjectReader (InjectableValues ​​injectableValues) — фабричный метод для создания ObjectReader, который будет использовать указанные значения для инъекций.
92 Читатель ObjectReader (тип JavaType) — устарел. Начиная с версии 2.5, используйте readerFor (JavaType) вместо
93 Читатель ObjectReader (JsonNodeFactory f) — Фабричный метод для создания ObjectReader, который будет использовать указанный JsonNodeFactory для построения деревьев JSON.
94 Читатель ObjectReader (TypeReference <?> Type) — устарел. Начиная с 2.5, используйте readerFor (TypeReference) вместо
95 ObjectReader readerFor (Class <?> Type) — фабричный метод для создания ObjectReader, который будет читать или обновлять экземпляры указанного типа
96 ObjectReader readerFor (тип JavaType) — фабричный метод для создания ObjectReader, который будет читать или обновлять экземпляры указанного типа
97 ObjectReader readerFor (TypeReference <?> Type) — фабричный метод для создания ObjectReader, который будет читать или обновлять экземпляры указанного типа
98 ObjectReader readerForUpdating (Object valueToUpdate) — Фабричный метод для создания ObjectReader, который обновит данный Объект (обычно Бин, но также может быть Коллекцией или Картой, но НЕ массивом) с данными JSON.
99 ObjectReader readerWithView (Class <?> View) — фабричный метод для создания ObjectReader, который будет десериализовывать объекты, используя указанный JSON View (фильтр).
100 JsonNode readTree (byte [] content) — метод десериализации контента JSON в виде дерева, выраженного с использованием набора экземпляров JsonNode.
101 JsonNode readTree (File file) — метод десериализации содержимого JSON в виде дерева, выраженного с использованием набора экземпляров JsonNode.
102 JsonNode readTree (InputStream in) — метод десериализации содержимого JSON в виде дерева, выраженного с использованием набора экземпляров JsonNode.
103 <T extends TreeNode> T readTree (JsonParser p) — метод десериализации содержимого JSON в виде дерева, выраженного с использованием набора экземпляров JsonNode.
104 JsonNode readTree (Reader r) — метод десериализации содержимого JSON в виде дерева, выраженного с использованием набора экземпляров JsonNode.
105 JsonNode readTree (String content) — метод десериализации содержимого JSON в виде дерева, выраженного с использованием набора экземпляров JsonNode.
106 JsonNode readTree (источник URL) — метод десериализации содержимого JSON в виде дерева, выраженного с использованием набора экземпляров JsonNode.
107 <T> T readValue (byte [] src, Class <T> valueType)
108 <T> T readValue (byte [] src, int offset, int len, Class <T> valueType)
109 <T> T readValue (byte [] src, int offset, int len, JavaType valueType)
110 <T> T readValue (byte [] src, int offset, int len, TypeReference valueTypeRef)
111 <T> T readValue (byte [] src, JavaType valueType)
112 <T> T readValue (byte [] src, TypeReference valueTypeRef)
113 <T> T readValue (DataInput src, Class <T> valueType)
114 <T> T readValue (DataInput src, JavaType valueType)
115 <T> T readValue (File src, Class <T> valueType) — Метод десериализации содержимого JSON из данного файла в заданный тип Java.
116 <T> T readValue (File src, JavaType valueType) — Метод десериализации содержимого JSON из данного файла в заданный тип Java.
117 <T> T readValue (File src, TypeReference valueTypeRef) — Метод десериализации содержимого JSON из данного файла в заданный тип Java.
118 <T> T readValue (InputStream src, Class <T> valueType)
119 <T> T readValue (InputStream src, JavaType valueType)
120 <T> T readValue (InputStream src, TypeReference valueTypeRef)
121 <T> T readValue (JsonParser p, Class <T> valueType) — Метод десериализации содержимого JSON в неконтейнерный тип (однако это может быть тип массива): обычно это bean-компонент, массив или тип-оболочка (например, Boolean) ).
122 <T> T readValue (JsonParser p, JavaType valueType) — безопасный для типа перегруженный метод, в основном псевдоним для readValue (JsonParser, Class).
123 <T> T readValue (JsonParser p, ResolvedType valueType) — Метод десериализации содержимого JSON в тип Java, ссылка на который передается в качестве аргумента.
124 <T> T readValue (JsonParser p, TypeReference <?> ValueTypeRef) — Метод десериализации содержимого JSON в тип Java, ссылка на который передается в качестве аргумента.
125 <T> T readValue (Reader src, Class <T> valueType)
1 <T> T readValue (Reader src, JavaType valueType)
126 <T> T readValue (Reader src, TypeReference valueTypeRef)
127 <T> T readValue (содержимое строки, класс <T> valueType) — метод десериализации содержимого JSON из заданной строки содержимого JSON.
128 <T> T readValue (содержимое строки, JavaType valueType) — метод десериализации содержимого JSON из заданной строки содержимого JSON.
129 <T> T readValue (содержимое строки, TypeReference valueTypeRef) — метод десериализации содержимого JSON из заданной строки содержимого JSON.
130 <T> T readValue (URL src, Class <T> valueType) — Метод десериализации содержимого JSON из данного ресурса в заданный тип Java.
131 <T> T readValue (URL src, JavaType valueType)
132 <T> T readValue (URL src, TypeReference valueTypeRef) — Метод десериализации содержимого JSON из данного ресурса в данный тип Java.
133 <T> MappingIterator <T> readValues ​​(JsonParser p, Class <T> valueType) — удобный метод, эквивалентный по функции:
134 <T> MappingIterator <T> readValues ​​(JsonParser p, JavaType valueType) — удобный метод, эквивалентный по функции:
135 <T> MappingIterator <T> readValues ​​(JsonParser p, ResolvedType valueType) — удобный метод, эквивалентный по функции:
136 <T> MappingIterator <T> readValues ​​(JsonParser p, TypeReference <?> ValueTypeRef) — Метод для чтения последовательности объектов из потока синтаксического анализатора.
137 ObjectMapper registerModule (Module module) — метод регистрации модуля, который может расширить функциональность, предоставляемую этим картографом; например, путем добавления провайдеров для пользовательских сериализаторов и десериализаторов.
138 ObjectMapper registerModules (Iterable <Module> modules) — удобный метод регистрации указанных модулей по порядку; функционально эквивалентно:
139 ObjectMapper registerModules (Module … modules) — удобный метод регистрации указанных модулей по порядку; функционально эквивалентно:
140 void registerSubtypes (NamedType … types) — Метод регистрации указанного класса в качестве подтипа, чтобы разрешение на основе типов имен могло связывать супертипы с подтипами (в качестве альтернативы использованию аннотаций).
141 ObjectMapper setAnnotationIntrospector (AnnotationIntrospector ai) — Метод установки AnnotationIntrospector, используемый этим экземпляром преобразователя как для сериализации, так и для десериализации.
142 ObjectMapper setAnnotationIntrospectors (AnnotationIntrospector serializerAI, AnnotationIntrospector deserializerAI) — Метод изменения экземпляров AnnotationIntrospector, используемых этим экземпляром преобразователя для сериализации и десериализации, с указанием их отдельно, так что разные самоанализ могут использоваться для различных аспектов.
143 ObjectMapper setBase64Variant (Base64Variant v) — метод, который будет конфигурировать Base64Variant по умолчанию, который будут использовать сериализаторы и десериализаторы byte [].
144 ObjectMapper setConfig (конфигурация DeserializationConfig) — метод, позволяющий переопределить базовый объект DeserializationConfig.
145 ObjectMapper setConfig (SerializationConfig config) — метод, позволяющий переопределить базовый объект SerializationConfig, который содержит параметры конфигурации, специфичные для сериализации.
146 ObjectMapper setDateFormat (DateFormat dateFormat) — Метод настройки DateFormat по умолчанию для использования при сериализации значений времени в виде строк и десериализации из строк JSON.
147 ObjectMapper setDefaultPrettyPrinter (PrettyPrinter pp) — метод указания PrettyPrinter для использования, когда включено «pretty-printing по умолчанию» (путем включения SerializationFeature.INDENT_OUTPUT)
148 ObjectMapper setDefaultTyping (TypeResolverBuilder <?> Typer) — Метод включения автоматического включения информации о типе с использованием указанного объекта-обработчика для определения того, на какие типы это влияет, а также сведения о том, как информация внедряется.
149 ObjectMapper setFilterProvider (FilterProvider filterProvider) — метод настройки этого преобразователя для использования указанного FilterProvider для сопоставления идентификаторов фильтров с фактическими экземплярами фильтров.
150 Объект setHandlerInstantiator (HandlerInstantiator hi) — Метод настройки HandlerInstantiator для использования при создании экземпляров обработчиков (таких как сериализаторы, десериализаторы, преобразователи типов и идентификаторов типов) для данного класса.
151 ObjectMapper setInjectableValues ​​(InjectableValues ​​injectableValues) — Метод для настройки InjectableValues, который используется для поиска значений для внедрения.
152 ObjectMapper setLocale (Locale l) — метод для переопределения локали по умолчанию, используемой для форматирования.
153 void setMixInAnnotations (Map <Class <?>, Class <? >> sourceMixins)устарело . Начиная с 2.5: заменена беглая форма метода; setMixIns (java.util.Map <java.lang.Class <?>, java.lang.Class <? >>).
154 ObjectMapper setMixInResolver (ClassIntrospector.MixInResolver resolver) — Метод, который можно вызывать для указания данного преобразователя для определения местоположения используемых встраиваемых классов, переопределяя непосредственно добавленные отображения.
155 ObjectMapper setMixIns (Map <Class <?>, Class <? >> sourceMixins) — метод, используемый для определения смешанных аннотаций, используемых для дополнения аннотаций, которые имеют обрабатываемые (сериализуемые / десериализуемые) классы.
156 ObjectMapper setNodeFactory (JsonNodeFactory f) — Метод указания JsonNodeFactory для использования при построении узлов дерева корневого уровня (через метод createObjectNode ()
157 ObjectMapper setPropertyInclusion (JsonInclude.Value incl) — Метод установки стратегии включения свойств POJO по умолчанию для сериализации.
158 ObjectMapper setPropertyNamingStrategy (PropertyNamingStrategy s) — Метод настройки стратегии именования пользовательских свойств для использования.
159 ObjectMapper setSerializationInclusion (JsonInclude.Include incl) — метод удобства, эквивалентный вызову:
160 ObjectMapper setSerializerFactory (SerializerFactory f) — Метод для установки конкретного SerializerFactory, который будет использоваться для создания (bean) сериализаторов.
161 ObjectMapper setSerializerProvider (DefaultSerializerProvider p) — Метод установки «чертежа» экземпляра SerializerProvider для использования в качестве базы для реальных экземпляров поставщика, используемых для обработки кэширования экземпляров JsonSerializer.
162 ObjectMapper setSubtypeResolver (SubtypeResolver str) — Метод для настройки используемого распознавателя подтипов.
163 ObjectMapper setTimeZone (TimeZone tz) — метод для переопределения TimeZone по умолчанию, используемого для форматирования.
164 ObjectMapper setTypeFactory (TypeFactory f) — Метод, который можно использовать для переопределения экземпляра TypeFactory, используемого этим преобразователем.
165 ObjectMapper setVisibility (PropertyAccessor forMethod, JsonAutoDetect.Visibility visibility) — удобный метод, который позволяет изменять конфигурацию для базовых VisibilityCheckers, чтобы изменять детали того, какие типы свойств определяются автоматически.
166 ObjectMapper setVisibility (VisibilityChecker <?> Vc) — Метод для установки в настоящее время настроенного VisibilityChecker, объекта, используемого для определения, может ли данный элемент свойства (метод, поле, конструктор) быть автоматически обнаружен или нет.
167 void setVisibilityChecker (VisibilityChecker <?> vc) — устарел. Начиная с версии 2.6 вместо этого используйте setVisibility (VisibilityChecker).
168 JsonParser treeAsTokens (TreeNode n) — метод для создания JsonParser из представления дерева JSON.
169 <T> T treeToValue (TreeNode n, Class <T> valueType) — удобный метод преобразования, который будет связывать данные, содержащиеся в дереве JSON, с определенным типом значения (обычно бином).
170 <T extends JsonNode> T valueToTree (Object fromValue) — обратная сторона treeToValue (com.fasterxml.jackson.core.TreeNode, java.lang.Class <T>); данное значение (обычно bean) создаст эквивалентное представление дерева JSON.
171 Version version () — Метод, который будет возвращать информацию о версии, хранящуюся и читаемую из jar-файла, содержащего этот класс.
172 ObjectWriter writer () — удобный метод для создания ObjectWriter с настройками по умолчанию.
173 ObjectWriter writer (Base64Variant defaultBase64) — фабричный метод для создания ObjectWriter, который будет использовать указанный вариант кодирования Base64 для двоичных данных в кодировке Base64.
174 Writer ObjectWriter (побег персонажа)
175 ObjectWriter writer (ContextAttributes attrs) — фабричный метод для создания ObjectWriter, который будет использовать указанные атрибуты по умолчанию.
176 ObjectWriter writer (DateFormat df) — фабричный метод для создания ObjectWriter, который будет сериализовывать объекты, используя указанный DateFormat; или, если прошло ноль, используя метку времени (64-битное число.
177 ObjectWriter writer (FilterProvider filterProvider) — фабричный метод для создания ObjectWriter, который будет сериализовывать объекты с использованием указанного поставщика фильтров.
178 ObjectWriter writer (схема FormatSchema) — фабричный метод для создания ObjectWriter, который передает конкретный объект схемы в JsonGenerator, используемый для записи содержимого.
179 ObjectWriter writer (PrettyPrinter pp) — фабричный метод для создания ObjectWriter, который будет сериализовывать объекты, используя заданный симпатичный принтер для отступа (или, если ноль, никакой симпатичный принтер)
180 ObjectWriter writer (функция SerializationFeature) — фабричный метод для создания ObjectWriter с включенной указанной функцией (по сравнению с настройками, которые имеет этот экземпляр сопоставителя).
181 Writer ObjectWriter (сначала SerializationFeature, SerializationFeature … other) — Фабричный метод для создания ObjectWriter с включенными заданными функциями (по сравнению с настройками, которые имеет этот экземпляр сопоставителя).
182 ObjectWriter writerFor (Class <?> RootType) — фабричный метод для создания ObjectWriter, который будет сериализовывать объекты, используя указанный корневой тип вместо фактического значения времени выполнения.
183 ObjectWriter writerFor (JavaType rootType) — фабричный метод для создания ObjectWriter, который будет сериализовывать объекты, используя указанный корневой тип вместо фактического значения времени выполнения.
184 ObjectWriter writerFor (TypeReference <?> RootType) — фабричный метод для создания ObjectWriter, который будет сериализовывать объекты с использованием указанного корневого типа вместо фактического значения времени выполнения.
185 ObjectWriter writerWithDefaultPrettyPrinter() — Factory method for constructing ObjectWriter that will serialize objects using the default pretty printer for indentation.
186 ObjectWriter writerWithType(Class<?> rootType) — Deprecated. Since 2.5, use writerFor(Class) instead.
187 ObjectWriter writerWithType(JavaType rootType) — Deprecated. Since 2.5, use writerFor(JavaType) instead.
188 ObjectWriter writerWithType(TypeReference<?> rootType) — Deprecated. Since 2.5, use writerFor(TypeReference) instead.
189 ObjectWriter writerWithView(Class<?> serializationView) — Factory method for constructing ObjectWriter that will serialize objects using specified JSON View (filter).
190 void writeTree(JsonGenerator jgen, JsonNode rootNode) — Method to serialize given JSON Tree, using generator provided.
191 void writeTree(JsonGenerator jgen, TreeNode rootNode)
192 void writeValue(DataOutput out, Object value)
193 void writeValue(File resultFile, Object value) — Method that can be used to serialize any Java value as JSON output, written to File provided.
194 void writeValue(JsonGenerator g, Object value) — Method that can be used to serialize any Java value as JSON output, using provided JsonGenerator.
195 void writeValue(OutputStream out, Object value) — Method that can be used to serialize any Java value as JSON output, using output stream provided (using encoding JsonEncoding.UTF8).
196 void writeValue(Writer w, Object value) — Method that can be used to serialize any Java value as JSON output, using Writer provided.
197 byte[] writeValueAsBytes(Object value) — Method that can be used to serialize any Java value as a byte array.
198 String writeValueAsString(Object value) — Method that can be used to serialize any Java value as a String.

Методы унаследованы

Этот класс наследует методы от следующих классов:

  • java.lang.Object

java.lang.Object

ObjectMapper Example

Create the following java program using any editor of your choice in say C:/> Jackson_WORKSPACE

Файл: JacksonTester.java

 импорт java.io.IOException;

 import com.fasterxml.jackson.core.JsonParseException;
 import com.fasterxml.jackson.databind.JsonMappingException;
 import com.fasterxml.jackson.databind.ObjectMapper;

 открытый класс JacksonTester {
    public static void main (String args []) {
   
       ObjectMapper mapper = new ObjectMapper ();
       String jsonString = "{\" name \ ": \" Mahesh \ ", \" age \ ": 21}";
      
       // сопоставить JSON со студентом
       пытаться{
          Student student = mapper.readValue (jsonString, Student.class);
         
          System.out.println (студент);
         
          jsonString = mapper.writerWithDefaultPrettyPrinter (). writeValueAsString (student);
         
          System.out.println (jsonString);
       }
       catch (JsonParseException e) {e.printStackTrace ();}
       catch (JsonMappingException e) {e.printStackTrace ();  }
       catch (IOException e) {e.printStackTrace ();  }
    }
 }

 ученик класса {
    личное строковое имя;
    частный возраст;
    государственный студент () {}
    public String getName () {
       вернуть имя;
    }
    public void setName (String name) {
       this.name = имя;
    }
    public int getAge () {
       возвращаемый возраст;
    }
    public void setAge (int age) {
       this.age = возраст;
    }
    public String toString () {
       return "Студент [имя:" + имя + ", возраст:" + возраст + "]";
    }
 }

Проверьте результат

Скомпилируйте классы, используя компилятор javac следующим образом:

C:\Jackson_WORKSPACE>javac JacksonTester.java

Теперь запустите jacksonTester, чтобы увидеть результат:

C:\Jackson_WORKSPACE>java JacksonTester

Проверьте вывод

Student [ name: Mahesh, age: 21 ]
{
  "name" : "Mahesh",
  "age" : 21
}

Сериализация объектов

давайте сериализуем объект java в файл json, а затем прочитаем этот файл json, чтобы получить объект обратно. В этом примере мы создали класс Student. Мы создадим файл student.json, который будет иметь представление json объекта Student.

Создайте файл Java-класса с именем JacksonTester в C: \> Jackson_WORKSPACE .

Файл: JacksonTester.java

 импорт java.io.File;
 импорт java.io.IOException;

 import com.fasterxml.jackson.core.JsonGenerationException;
 import com.fasterxml.jackson.core.JsonParseException;
 import com.fasterxml.jackson.databind.JsonMappingException;
 import com.fasterxml.jackson.databind.ObjectMapper;

 открытый класс JacksonTester {
    public static void main (String args []) {
       Тестер JacksonTester = новый тестер JacksonTester ();
       пытаться {
          Студент студент = новый студент ();
          student.setAge (10);
          student.setName ( "Махеш");
          tester.writeJSON (студент);

          Student student1 = tester.readJSON ();
          System.out.println (student1);

       } catch (JsonParseException e) {
          e.printStackTrace ();
       } catch (JsonMappingException e) {
          e.printStackTrace ();
       } catch (IOException e) {
          e.printStackTrace ();
       }
    }

    private void writeJSON (Студент-студент) создает исключение JsonGenerationException, JsonMappingException, IOException {
       ObjectMapper mapper = new ObjectMapper ();	
       mapper.writeValue (новый файл ("student.json"), студент);
    }

    приватный студент readJSON () создает исключение JsonParseException, JsonMappingException, IOException {
       ObjectMapper mapper = new ObjectMapper ();
       Student student = mapper.readValue (новый файл ("student.json"), Student.class);
       вернуть студента;
    }
 }

 ученик класса {
    личное строковое имя;
    частный возраст;
    государственный студент () {}
    public String getName () {
       вернуть имя;
    }
    public void setName (String name) {
       this.name = имя;
    }
    public int getAge () {
       возвращаемый возраст;
    }
    public void setAge (int age) {
       this.age = возраст;
    }
    public String toString () {
       return "Студент [имя:" + имя + ", возраст:" + возраст + "]";
    }	
 }

Проверьте результат

Скомпилируйте классы, используя компилятор javac следующим образом:

C:\Jackson_WORKSPACE>javac JacksonTester.java

Теперь запустите jacksonTester, чтобы увидеть результат:

C:\Jackson_WORKSPACE>java JacksonTester

Проверьте вывод

Student [ name: Mahesh, age: 10 ]

Привязка данных

API привязки данных используется для преобразования JSON в POJO (простой старый объект Java) и обратно с использованием метода доступа к свойствам или аннотаций. Это двух типов.

  • Простое связывание данных — преобразует JSON в и из Java-карт, списков, строк, чисел, логических и нулевых объектов.

  • Полная привязка данных — преобразует JSON в любой тип JAVA.

Простое связывание данных — преобразует JSON в и из Java-карт, списков, строк, чисел, логических и нулевых объектов.

Полная привязка данных — преобразует JSON в любой тип JAVA.

ObjectMapper читает / записывает JSON для обоих типов привязок данных. Привязка данных является наиболее удобным способом и аналогом JAXB parer для XML.

Простое связывание данных

Простая привязка данных относится к отображению JSON в типы данных JAVA Core. Следующая таблица иллюстрирует связь между типами JSON и типами Java.

Старший Тип JSON Тип Java
1 объект LinkedHashMap <String, Object>
2 массив ArrayList <Object>
3 строка строка
4 полный номер Integer, Long или BigInteger
5 дробное число Double / BigDecimal
6 правда | ложный логический
7 ноль ноль

Давайте посмотрим простую привязку данных в действии. Здесь мы отобразим основные типы JAVA непосредственно в JSON и наоборот.

Создайте файл Java-класса с именем JacksonTester в C: \> Jackson_WORKSPACE .

Файл: JacksonTester.java

 импорт java.io.File;
 импорт java.io.IOException;
 import java.util.HashMap;
 импорт java.util.Map;

 import com.fasterxml.jackson.core.JsonParseException;
 import com.fasterxml.jackson.databind.JsonMappingException;
 import com.fasterxml.jackson.databind.ObjectMapper;

 открытый класс JacksonTester {
    public static void main (String args []) {
       Тестер JacksonTester = новый тестер JacksonTester ();
          пытаться {
             ObjectMapper mapper = new ObjectMapper ();

             Map <String, Object> studentDataMap = new HashMap <String, Object> (); 
             int [] marks = {1,2,3};

             Студент студент = новый студент ();
             student.setAge (10);
             student.setName ( "Махеш");
             // JAVA Object
             studentDataMap.put («студент», студент);
             // Строка JAVA
             studentDataMap.put ("имя", "Махеш Кумар");   		
             // JAVA Boolean
             studentDataMap.put («проверено», Boolean.FALSE);
             // Массив
             studentDataMap.put («отметки», отметки);

             mapper.writeValue (новый файл ("student.json"), studentDataMap);
             // результат student.json
			 // { 
             // "student": {"name": "Mahesh", "age": 10},
             // "отметки": [1,2,3],
             // «проверено»: ложь,
             // "имя": "Махеш Кумар"
             //}
             studentDataMap = mapper.readValue (новый файл ("student.json"), Map.class);

             System.out.println (studentDataMap.get ( "студент"));
             System.out.println (studentDataMap.get ( "имя"));
             System.out.println (studentDataMap.get ( "проверено"));
             System.out.println (studentDataMap.get ( "метки"));
       } catch (JsonParseException e) {
          e.printStackTrace ();
       } catch (JsonMappingException e) {
          e.printStackTrace ();
       } catch (IOException e) {
             e.printStackTrace ();
       }
    }
 }

 ученик класса {
    личное строковое имя;
    частный возраст;
    государственный студент () {}
    public String getName () {
       вернуть имя;
    }
    public void setName (String name) {
       this.name = имя;
    }
    public int getAge () {
       возвращаемый возраст;
    }
    public void setAge (int age) {
       this.age = возраст;
    }
    public String toString () {
       return "Студент [имя:" + имя + ", возраст:" + возраст + "]";
    }	
 }

Проверьте результат

Скомпилируйте классы, используя компилятор javac следующим образом:

C:\Jackson_WORKSPACE>javac JacksonTester.java

Теперь запустите jacksonTester, чтобы увидеть результат:

C:\Jackson_WORKSPACE>java JacksonTester

Проверьте вывод

{name=Mahesh, age=10}
Mahesh Kumar
false
[1, 2, 3]

Full Data Binding

Full data binding refers to mapping of JSON to any JAVA Object.

//Create an ObjectMapper instance
ObjectMapper mapper = new ObjectMapper();	
//map JSON content to Student object
Student student = mapper.readValue(new File("student.json"), Student.class);
//map Student object to JSON content
mapper.writeValue(new File("student.json"), student);

Давайте посмотрим простую привязку данных в действии. Здесь мы сопоставим объект JAVA непосредственно с JSON и наоборот.

Создайте файл Java-класса с именем JacksonTester в C: \> Jackson_WORKSPACE .

Файл: JacksonTester.java

 импорт java.io.File;
 импорт java.io.IOException;

 import com.fasterxml.jackson.core.JsonGenerationException;
 import com.fasterxml.jackson.core.JsonParseException;
 import com.fasterxml.jackson.databind.JsonMappingException;
 import com.fasterxml.jackson.databind.ObjectMapper;

 открытый класс JacksonTester {
    public static void main (String args []) {
       Тестер JacksonTester = новый тестер JacksonTester ();
       пытаться {
          Студент студент = новый студент ();
          student.setAge (10);
          student.setName ( "Махеш");
          tester.writeJSON (студент);

          Student student1 = tester.readJSON ();
          System.out.println (student1);

       } catch (JsonParseException e) {
          e.printStackTrace ();
       } catch (JsonMappingException e) {
          e.printStackTrace ();
       } catch (IOException e) {
          e.printStackTrace ();
       }
    }

    private void writeJSON (Студент-студент) создает исключение JsonGenerationException, JsonMappingException, IOException {
       ObjectMapper mapper = new ObjectMapper ();	
       mapper.writeValue (новый файл ("student.json"), студент);
    }

    приватный студент readJSON () создает исключение JsonParseException, JsonMappingException, IOException {
       ObjectMapper mapper = new ObjectMapper ();
       Student student = mapper.readValue (новый файл ("student.json"), Student.class);
       вернуть студента;
    }
 }

 ученик класса {
    личное строковое имя;
    частный возраст;
    государственный студент () {}
    public String getName () {
       вернуть имя;
    }
    public void setName (String name) {
       this.name = имя;
    }
    public int getAge () {
       возвращаемый возраст;
    }
    public void setAge (int age) {
       this.age = возраст;
    }
    public String toString () {
       return "Студент [имя:" + имя + ", возраст:" + возраст + "]";
    }	
 }

Проверьте результат

Скомпилируйте классы, используя компилятор javac следующим образом:

C:\Jackson_WORKSPACE>javac JacksonTester.java

Теперь запустите jacksonTester, чтобы увидеть результат:

C:\Jackson_WORKSPACE>java JacksonTester

Проверьте вывод

Student [ name: Mahesh, age: 10 ]

Data Binding with Generics

In simple data binding, we’ve used Map class which use String as key and Object as a value object. Instead we can have concrete java object and type cast it to be used in JSON binding.

Consider the following example with a class UserData, a class to hold user specific data.

Создайте файл Java-класса с именем JacksonTester в C: \> Jackson_WORKSPACE .

Файл: JacksonTester.java

 импорт java.io.File;
 импорт java.io.IOException;
import java.util.Arrays;
 import java.util.HashMap;
 импорт java.util.Map;

 import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.core.type.TypeReference;
 import com.fasterxml.jackson.databind.JsonMappingException;
 import com.fasterxml.jackson.databind.ObjectMapper;

 открытый класс JacksonTester {
    public static void main (String args []) {
       Тестер JacksonTester = новый тестер JacksonTester ();
          пытаться {
             ObjectMapper mapper = new ObjectMapper ();

            Map<String, UserData> userDataMap = new HashMap<String, UserData>();
            UserData studentData = new UserData(); 
             int [] marks = {1,2,3};

             Студент студент = новый студент ();
             student.setAge (10);
             student.setName ( "Махеш");
             // JAVA Object
            studentData.setStudent(student);
             // Строка JAVA
            studentData.setName("Mahesh Kumar");
             // JAVA Boolean
            studentData.setVerified(Boolean.FALSE);
             // Массив
            studentData.setMarks(marks);
            TypeReference ref = new TypeReference<Map<String,UserData>>() { };
            userDataMap.put("studentData1", studentData);
            mapper.writeValue(new File("student.json"), userDataMap);
             // {
            // "studentData1":
             // {
            // "student":
             // {
            // "name":"Mahesh",
            // "age":10
            // },
             // "имя": "Махеш Кумар",
             // «проверено»: ложь,
            // "marks":[1,2,3]
             //}
             //}
            userDataMap = mapper.readValue(new File("student.json"), ref);

            System.out.println(userDataMap.get("studentData1").getStudent());
            System.out.println(userDataMap.get("studentData1").getName());
            System.out.println(userDataMap.get("studentData1").getVerified());
            System.out.println(Arrays.toString(userDataMap.get("studentData1").getMarks()));
       } catch (JsonParseException e) {
          e.printStackTrace ();
       } catch (JsonMappingException e) {
          e.printStackTrace ();
       } catch (IOException e) {
             e.printStackTrace ();
       }
    }
 }

 ученик класса {
    личное строковое имя;
    частный возраст;
    государственный студент () {}
    public String getName () {
       вернуть имя;
    }
    public void setName (String name) {
       this.name = имя;
    }
    public int getAge () {
       возвращаемый возраст;
    }
    public void setAge (int age) {
       this.age = возраст;
    }
    public String toString () {
       return "Студент [имя:" + имя + ", возраст:" + возраст + "]";
    }	
 }

class UserData {
   private Student student;
    личное строковое имя;
   private Boolean verified;
   private int[] marks;

   public UserData(){}

   public Student getStudent() {
       вернуть студента;
    }
   public void setStudent(Student student) {
      this.student = student;
    }
    public String getName () {
       вернуть имя;
    }
    public void setName (String name) {
       this.name = имя;
    }
   public Boolean getVerified() {
      return verified;
    }
   public void setVerified(Boolean verified) {
      this.verified = verified;
    }
   public int[] getMarks() {
      return marks;
    }
   public void setMarks(int[] marks) {
      this.marks = marks;
    }		
 }

Проверьте результат

Скомпилируйте классы, используя компилятор javac следующим образом:

C:\Jackson_WORKSPACE>javac JacksonTester.java

Теперь запустите jacksonTester, чтобы увидеть результат:

C:\Jackson_WORKSPACE>java JacksonTester

Проверьте вывод

Student [ name: Mahesh, age: 10 ]
Mahesh Kumar
false
[1, 2, 3]

Модель дерева

Модель дерева подготавливает представление дерева JSON в памяти. ObjectMapper построить дерево узлов JsonNode. Это самый гибкий подход. Это аналог парсера DOM для XML.

Создать дерево из JSON

ObjectMapper предоставляет указатель на корневой узел дерева после чтения JSON. Корневой узел может использоваться для обхода всего дерева. Рассмотрим следующий фрагмент кода, чтобы получить корневой узел предоставленной строки JSON.

//Create an ObjectMapper instance
ObjectMapper mapper = new ObjectMapper();	
String jsonString = "{\"name\":\"Mahesh Kumar\", \"age\":21,\"verified\":false,\"marks\": [100,90,85]}";
//create tree from JSON
JsonNode rootNode = mapper.readTree(jsonString);

Модель дерева обхода

Получите каждый узел, используя относительный путь к корневому узлу при обходе дерева и обработайте данные. Рассмотрим следующий фрагмент кода, проходящий по дереву при условии корневого узла.

JsonNode nameNode = rootNode.path("name");
System.out.println("Name: "+ nameNode.textValue());
 
JsonNode marksNode = rootNode.path("marks");
Iterator<JsonNode> iterator = marksNode.elements();

пример

Создайте файл Java-класса с именем JacksonTester в C: \> Jackson_WORKSPACE .

Файл: JacksonTester.java

 импорт java.io.IOException;
 импорт java.util.Iterator;

 import com.fasterxml.jackson.core.JsonParseException;
 import com.fasterxml.jackson.databind.JsonMappingException;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;

 открытый класс JacksonTester {
    public static void main (String args []) {

       пытаться {
          ObjectMapper mapper = new ObjectMapper ();
          String jsonString = "{\" name \ ": \" Махеш Кумар \ ", \" age \ ": 21, \" Verified \ ": false, \" marks \ ": [100,90,85]}";
          JsonNode rootNode = mapper.readTree (jsonString);

          JsonNode nameNode = rootNode.path ("имя");
          System.out.println ("Имя:" + nameNode.textValue ());

          JsonNode ageNode = rootNode.path ("age");
          System.out.println ("Age:" + ageNode.intValue ());

          JsonNode verifyNode = rootNode.path («подтверждено»);
          System.out.println ("Проверено:" + (verifyNode.booleanValue ()? "Да": "Нет"));

          JsonNode marksNode = rootNode.path ("marks");
          Iterator <JsonNode> iterator = marksNode.elements ();
          System.out.print ("Метки: [");

          while (iterator.hasNext ()) {
             JsonNode marks = iterator.next ();
             System.out.print (marks.intValue () + ""); 
          }

          System.out.println ( "]");
       }
       catch (JsonParseException e) {e.printStackTrace ();  }
       catch (JsonMappingException e) {e.printStackTrace ();  }
       catch (IOException e) {e.printStackTrace ();  }
    }
 }

Проверьте результат

Скомпилируйте классы, используя компилятор javac следующим образом:

C:\Jackson_WORKSPACE>javac JacksonTester.java

Теперь запустите jacksonTester, чтобы увидеть результат:

C:\Jackson_WORKSPACE>java JacksonTester

Проверьте вывод

Name: Mahesh Kumar
Age: 21
Verified: No
Marks: [ 100 90 85 ]

Tree to JSON

In this example, we’ve created a Tree using JsonNode and write it to a json file and read back.

Создайте файл Java-класса с именем JacksonTester в C: \> Jackson_WORKSPACE .

Файл: JacksonTester.java

 импорт java.io.IOException;
 импорт java.util.Iterator;

 import com.fasterxml.jackson.core.JsonParseException;
 import com.fasterxml.jackson.databind.JsonMappingException;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;

 открытый класс JacksonTester {
    public static void main (String args []) {

       пытаться {
          ObjectMapper mapper = new ObjectMapper ();
          String jsonString = "{\" name \ ": \" Махеш Кумар \ ", \" age \ ": 21, \" Verified \ ": false, \" marks \ ": [100,90,85]}";
          JsonNode rootNode = mapper.readTree (jsonString);

          JsonNode nameNode = rootNode.path ("имя");
          System.out.println ("Имя:" + nameNode.textValue ());

          JsonNode ageNode = rootNode.path ("age");
          System.out.println ("Age:" + ageNode.intValue ());

          JsonNode verifyNode = rootNode.path («подтверждено»);
          System.out.println ("Проверено:" + (verifyNode.booleanValue ()? "Да": "Нет"));

          JsonNode marksNode = rootNode.path ("marks");
          Iterator <JsonNode> iterator = marksNode.elements ();
          System.out.print ("Метки: [");

          while (iterator.hasNext ()) {
             JsonNode marks = iterator.next ();
             System.out.print (marks.intValue () + ""); 
          }

          System.out.println ( "]");
       }
       catch (JsonParseException e) {e.printStackTrace ();  }
       catch (JsonMappingException e) {e.printStackTrace ();  }
       catch (IOException e) {e.printStackTrace ();  }
    }
 }

Проверьте результат

Скомпилируйте классы, используя компилятор javac следующим образом:

C:\Jackson_WORKSPACE>javac JacksonTester.java

Теперь запустите jacksonTester, чтобы увидеть результат:

C:\Jackson_WORKSPACE>java JacksonTester

Проверьте вывод

Name: Mahesh Kumar
Age: 21
Verified: No
Marks: [ 100 90 85 ]

Tree to Java Objects

In this example, we’ve created a Tree using JsonNode and write it to a json file and read back tree and then convert it as a Student object.

Создайте файл Java-класса с именем JacksonTester в C: \> Jackson_WORKSPACE .

Файл: JacksonTester.java

 импорт java.io.File;
 импорт java.io.IOException;
 импорт java.util.Iterator;

 import com.fasterxml.jackson.core.JsonParseException;
 import com.fasterxml.jackson.databind.JsonMappingException;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ArrayNode;
import com.fasterxml.jackson.databind.node.ObjectNode;

 открытый класс JacksonTester {
    public static void main (String args []) {
       Тестер JacksonTester = новый тестер JacksonTester ();
       пытаться {
          ObjectMapper mapper = new ObjectMapper ();

         JsonNode rootNode = mapper.createObjectNode();
         JsonNode marksNode = mapper.createArrayNode();
         ((ArrayNode)marksNode).add(100);
         ((ArrayNode)marksNode).add(90);
         ((ArrayNode)marksNode).add(85);
         ((ObjectNode) rootNode).put("name", "Mahesh Kumar");
         ((ObjectNode) rootNode).put("age", 21);
         ((ObjectNode) rootNode).put("verified", false);
         ((ObjectNode) rootNode).put("marks",marksNode);

         mapper.writeValue(new File("student.json"), rootNode);

         rootNode = mapper.readTree(new File("student.json"));

         Student student = mapper.treeToValue(rootNode, Student.class);

         System.out.println("Name: "+ student.getName());
         System.out.println("Age: " + student.getAge());
         System.out.println("Verified: " + (student.isVerified() ? "Yes":"No"));
         System.out.println("Marks: "+Arrays.toString(student.getMarks()));
       } catch (JsonParseException e) {
          e.printStackTrace ();
       } catch (JsonMappingException e) {
          e.printStackTrace ();
       } catch (IOException e) {
          e.printStackTrace ();
       }
    }
 }
 ученик класса {
    Имя строки;
   int age;
   boolean verified;
   int[] marks;
    public String getName () {
       вернуть имя;
    }
    public void setName (String name) {
       this.name = имя;
    }
    public int getAge () {
       возвращаемый возраст;
    }
    public void setAge (int age) {
       this.age = возраст;
    }
   public boolean isVerified() {
      return verified;
    }
   public void setVerified(boolean verified) {
      this.verified = verified;
    }
   public int[] getMarks() {
      return marks;
    }
   public void setMarks(int[] marks) {
      this.marks = marks;
    }
 }

Проверьте результат

Скомпилируйте классы, используя компилятор javac следующим образом:

C:\Jackson_WORKSPACE>javac JacksonTester.java

Теперь запустите jacksonTester, чтобы увидеть результат:

C:\Jackson_WORKSPACE>java JacksonTester

Проверьте вывод

Name: Mahesh Kumar
Age: 21
Verified: No
Marks: [ 100 90 85 ]

Потоковый API

Потоковый API читает и записывает содержимое JSON как отдельные события. JsonParser читает данные, тогда как JsonGenerator записывает данные. Это самый мощный подход из трех, с минимальными накладными расходами и самый быстрый в операциях чтения / записи. Это аналог синтаксического анализатора Stax для XML.

В этой статье мы продемонстрируем использование потоковых API Джексона для чтения и записи данных JSON. Потоковый API работает с концепцией токена, и с каждой деталью Json нужно обращаться осторожно. Ниже приведены два класса, которые мы будем использовать в примерах:

JsonGenerator — запись в строку JSON.

JsonParser — Parse JSON String.

Написание JSON с использованием JsonGenerator

Использовать JsonGenerator довольно просто. Сначала создайте JsonGenerator с помощью метода JsonFactory.createJsonGenerator () и используйте его методы write *** () для записи каждого значения json.

JsonFactory jsonFactory = new JsonFactory();
JsonGenerator jsonGenerator = jsonFactory.createGenerator(new File(
   "student.json"), JsonEncoding.UTF8);
// {
jsonGenerator.writeStartObject();
// "name" : "Mahesh Kumar"
jsonGenerator.writeStringField("name", "Mahesh Kumar"); 

Давайте посмотрим JsonGenerator в действии. Создайте файл Java-класса с именем JacksonTester в C: \> Jackson_WORKSPACE .

Файл: JacksonTester.java

 импорт java.io.File;
 импорт java.io.IOException;
 импорт java.util.Map;

 import com.fasterxml.jackson.core.JsonEncoding;
 import com.fasterxml.jackson.core.JsonFactory;
 import com.fasterxml.jackson.core.JsonGenerator;
 import com.fasterxml.jackson.core.JsonParseException;
 import com.fasterxml.jackson.databind.JsonMappingException;
 import com.fasterxml.jackson.databind.ObjectMapper;

 открытый класс JacksonTester {
    public static void main (String args []) {

       пытаться {         
          JsonFactory jsonFactory = new JsonFactory ();
          JsonGenerator jsonGenerator = jsonFactory.createGenerator (новый файл ("student.json"), JsonEncoding.UTF8);

          jsonGenerator.writeStartObject ();

          // "имя": "Махеш Кумар"
          jsonGenerator.writeStringField ("имя", "Махеш Кумар"); 

          // "возраст": 21
          jsonGenerator.writeNumberField ("age", 21);

          // "проверено": ложь
          jsonGenerator.writeBooleanField («подтверждено», false);

          // "отметки": [100, 90, 85]
          jsonGenerator.writeFieldName ( "метки"); 

          // [
          jsonGenerator.writeStartArray (); 
          // 100, 90, 85
          jsonGenerator.writeNumber (100); 
          jsonGenerator.writeNumber (90); 
          jsonGenerator.writeNumber (85); 
          //]

          jsonGenerator.writeEndArray (); 

          jsonGenerator.writeEndObject (); 
          jsonGenerator.close ();        

          // результат student.json
          // { 
          // "имя": "Махеш Кумар",
          // "возраст": 21,
          // «проверено»: ложь,
          // "отметки": [100,90,85]
          //}

          ObjectMapper mapper = new ObjectMapper ();
          Map <String, Object> dataMap = mapper.readValue (новый файл ("student.json"), Map.class);

          System.out.println (dataMap.get ( "имя"));
          System.out.println (dataMap.get ( "возраст"));
          System.out.println (dataMap.get ( "проверено"));
          System.out.println (dataMap.get ( "метки"));
       } 
       catch (JsonParseException e) {e.printStackTrace ();  } 
       catch (JsonMappingException e) {e.printStackTrace ();  } 
       catch (IOException e) {e.printStackTrace ();  }
    }
 }

Проверьте результат

Скомпилируйте классы, используя компилятор javac следующим образом:

C:\Jackson_WORKSPACE>javac JacksonTester.java

Теперь запустите jacksonTester, чтобы увидеть результат:

C:\Jackson_WORKSPACE>java JacksonTester

Проверьте вывод

Mahesh Kumar
21
false
[100, 90, 85]

Чтение JSON с использованием JsonParser

Использование JsonParser снова довольно просто. Сначала создайте JsonParser с помощью метода JsonFactory.createJsonParser () и используйте его методы nextToken () для чтения каждой строки json как токена. Проверьте каждый токен и обработайте соответственно

JsonFactory jasonFactory = new JsonFactory();
JsonParser jsonParser = jasonFactory.createJsonParser(new File("student.json"));
while (jsonParser.nextToken() != JsonToken.END_OBJECT) {
   //get the current token
   String fieldname = jsonParser.getCurrentName();
   if ("name".equals(fieldname)) {
      //move to next token
      jsonParser.nextToken();
      System.out.println(jsonParser.getText());        	 
   }
}

Давайте посмотрим JsonParser в действии. Создайте файл Java-класса с именем JacksonTester в C: \> Jackson_WORKSPACE .

Файл: JacksonTester.java

 импорт java.io.File;
 импорт java.io.IOException;
 импорт java.util.Map;

 import com.fasterxml.jackson.core.JsonEncoding;
 import com.fasterxml.jackson.core.JsonFactory;
 import com.fasterxml.jackson.core.JsonGenerator;
 import com.fasterxml.jackson.core.JsonParseException;
 import com.fasterxml.jackson.databind.JsonMappingException;
 import com.fasterxml.jackson.databind.ObjectMapper;

 открытый класс JacksonTester {
    public static void main (String args []) {
       Тестер JacksonTester = новый тестер JacksonTester ();
       пытаться {        	
          JsonFactory jsonFactory = new JsonFactory ();

          JsonGenerator jsonGenerator = jsonFactory.createGenerator (новый файл (
             "student.json"), JsonEncoding.UTF8);
          jsonGenerator.writeStartObject ();
          jsonGenerator.writeStringField ("имя", "Махеш Кумар"); 
          jsonGenerator.writeNumberField ("age", 21);
          jsonGenerator.writeBooleanField («подтверждено», false); 
          jsonGenerator.writeFieldName ( "метки"); 
          jsonGenerator.writeStartArray ();  // [
          jsonGenerator.writeNumber (100); 
          jsonGenerator.writeNumber (90); 
          jsonGenerator.writeNumber (85); 
          jsonGenerator.writeEndArray (); 
          jsonGenerator.writeEndObject (); 
          jsonGenerator.close ();       	 

          // результат student.json
          // { 
          // "имя": "Махеш Кумар",
          // "возраст": 21,
          // «проверено»: ложь,
          // "отметки": [100,90,85]
          //}

          JsonParser jsonParser = jsonFactory.createParser (новый файл ("student.json"));
          while (jsonParser.nextToken ()! = JsonToken.END_OBJECT) {
             // получить текущий токен
             String fieldname = jsonParser.getCurrentName ();
             if ("name" .equals (fieldname)) {
                // перейти к следующему токену
                jsonParser.nextToken ();
                System.out.println (jsonParser.getText ());        	 
             }
             если ( "возраст" .equals (имя_поль)) {
                // перейти к следующему токену
                jsonParser.nextToken ();
                System.out.println (jsonParser.getNumberValue ());        	 
             }
             если ( "проверенный" .equals (имя_поль)) {
                // перейти к следующему токену
                jsonParser.nextToken ();
                System.out.println (jsonParser.getBooleanValue ());        	 
             }
             если ( "знаки" .equals (имя_поль)) {
                // перейти к [ 
                jsonParser.nextToken ();
                // цикл до токена, равного "]"
                while (jsonParser.nextToken ()! = JsonToken.END_ARRAY) {
                   System.out.println (jsonParser.getNumberValue ()); 
                }
             }
          }
       } catch (JsonParseException e) {
          e.printStackTrace ();
       } catch (JsonMappingException e) {
          e.printStackTrace ();
       } catch (IOException e) {
          e.printStackTrace ();
       }
    }
 }

Проверьте результат

Скомпилируйте классы, используя компилятор javac следующим образом:

C:\Jackson_WORKSPACE>javac JacksonTester.java

Теперь запустите jacksonTester, чтобы увидеть результат:

C:\Jackson_WORKSPACE>java JacksonTester

Проверьте вывод

Mahesh Kumar
21
false
[100, 90, 85]

JsonGenerator Class

Вступление

JsonParser is the base class to define public API for reading Json content. Instances are created using factory methods of a JsonFactory instance.

Объявление класса

Following is the declaration for org.codehaus.jackson.JsonParser class:

public abstract class JsonParser
   extends Object
      implements Closeable, Versioned

Вложенные классы

SN Класс и описание
1 static class JsonParser.Feature
Enumeration that defines all togglable features for parsers.
2 static class JsonParser.NumberType
Enumeration of possible «native» (optimal) types that can be used for numbers.

поля

  • protected PrettyPrinter _cfgPrettyPrinter — Object that handles pretty-printing (usually additional white space to make results more human-readable) during output.

  • protected JsonToken _currToken — Last token retrieved via nextToken(), if any.

  • protected int _features — Bit flag composed of bits that indicate which JsonParser.Features are enabled.

  • protected JsonToken _lastClearedToken — Last cleared token, if any: that is, value that was in effect when clearCurrentToken() was called.

protected PrettyPrinter _cfgPrettyPrinter — Object that handles pretty-printing (usually additional white space to make results more human-readable) during output.

protected JsonToken _currToken — Last token retrieved via nextToken(), if any.

protected int _features — Bit flag composed of bits that indicate which JsonParser.Features are enabled.

protected JsonToken _lastClearedToken — Last cleared token, if any: that is, value that was in effect when clearCurrentToken() was called.

Конструкторы

SN Конструктор и описание
1 protected JsonParser()
Default constructor
2 protected JsonParser(int features)

Методы класса

SN Метод и описание
1 protected void _reportError(String msg) — Helper method used for constructing and throwing JsonGenerationException with given base message.
2 protected void _reportUnsupportedOperation()
3 protected void _throwInternal()
4 protected void _writeSimpleObject(Object value) — Helper method to try to call appropriate write method for given untyped Object.
5 boolean canOmitFields() — Introspection method to call to check whether it is ok to omit writing of Object fields or not.
6 boolean canUseSchema(FormatSchema schema) — Method that can be used to verify that given schema can be used with this generator (using setSchema(com.fasterxml.jackson.core.FormatSchema)).
7 boolean canWriteBinaryNatively() — Introspection method that may be called to see if the underlying data format supports «native» binary data; that is, an efficient output of binary content without encoding.
8 boolean canWriteObjectId() — Introspection method that may be called to see if the underlying data format supports some kind of Object Ids natively (many do not; for example, JSON doesn’t).
9 boolean canWriteTypeId() — Introspection method that may be called to see if the underlying data format supports some kind of Type Ids natively (many do not; for example, JSON doesn’t).
10 abstract void close() — Method called to close this generator, so that no more content can be written.
11 JsonGenerator configure(JsonGenerator.Feature f, boolean state) — Method for enabling or disabling specified feature: check JsonGenerator.Feature for list of available features.
12 void copyCurrentEvent(JsonParser jp) — Method for copying contents of the current event that the given parser instance points to.
13 void copyCurrentStructure(JsonParser jp) — Method for copying contents of the current event and following events that it encloses the given parser instance points to.
14 abstract JsonGenerator disable(JsonGenerator.Feature f) — Method for disabling specified features (check JsonGenerator.Feature for list of features)
15 abstract JsonGenerator enable(JsonGenerator.Feature f) — Method for enabling specified parser features: check JsonGenerator.Feature for list of available features.
16 abstract void flush() — Method called to flush any buffered content to the underlying target (output stream, writer), and to flush the target itself as well.
17 CharacterEscapes getCharacterEscapes() — Method for accessing custom escapes factory uses for JsonGenerators it creates.
18 abstract ObjectCodec getCodec() — Method for accessing the object used for writing Java object as Json content (using method writeObject(java.lang.Object)).
19 abstract int getFeatureMask() — Bulk access method for getting state of all standard JsonGenerator.Features.
20 int getHighestEscapedChar() — Accessor method for testing what is the highest unescaped character configured for this generator.
21 abstract JsonStreamContext getOutputContext()
22 Object getOutputTarget() — Method that can be used to get access to object that is used as target for generated output; this is usually either OutputStream or Writer, depending on what generator was constructed with.
23 PrettyPrinter getPrettyPrinter() — Accessor for checking whether this generator has a configured PrettyPrinter; returns it if so, null if none configured.
24 FormatSchema getSchema() — Method for accessing Schema that this parser uses, if any.
25 abstract boolean isClosed() — Method that can be called to determine whether this generator is closed or not.
26 abstract boolean isEnabled(JsonGenerator.Feature f) — Method for checking whether given feature is enabled.
27 JsonGenerator setCharacterEscapes(CharacterEscapes esc) -Method for defining custom escapes factory uses for JsonGenerators it creates.
28 abstract JsonGenerator setCodec(ObjectCodec oc) — Method that can be called to set or reset the object to use for writing Java objects as JsonContent (using method writeObject(java.lang.Object)).
29 abstract JsonGenerator setFeatureMask(int mask) -Bulk set method for (re)settting states of all standard JsonGenerator.Features
30 JsonGenerator setHighestNonEscapedChar(int charCode) — Method that can be called to request that generator escapes all character codes above specified code point (if positive value); or, to not escape any characters except for ones that must be escaped for the data format (if -1).
31 JsonGenerator setPrettyPrinter(PrettyPrinter pp) — Method for setting a custom pretty printer, which is usually used to add indentation for improved human readability.
32 JsonGenerator setRootValueSeparator(SerializableString sep) — Method that allows overriding String used for separating root-level JSON values (default is single space character)
33 void setSchema(FormatSchema schema) — Method to call to make this generator use specified schema.
33 abstract JsonGenerator useDefaultPrettyPrinter() — Convenience method for enabling pretty-printing using the default pretty printer (DefaultPrettyPrinter).
34 abstract Version version() — Accessor for finding out version of the bundle that provided this generator instance.
35 void writeArrayFieldStart(String fieldName) — Convenience method for outputting a field entry («member») (that will contain a JSON Array value), and the START_ARRAY marker.
36 abstract void writeBinary(Base64Variant b64variant, byte[] data, int offset, int len) — Method that will output given chunk of binary data as base64 encoded, as a complete String value (surrounded by double quotes).
37 abstract int writeBinary(Base64Variant b64variant, InputStream data, int dataLength) — Method similar to writeBinary(Base64Variant,byte[],int,int), but where input is provided through a stream, allowing for incremental writes without holding the whole input in memory.
38 void writeBinary(byte[] data) — Similar to writeBinary(Base64Variant,byte[],int,int), but assumes default to using the Jackson default Base64 variant (which is Base64Variants.MIME_NO_LINEFEEDS).
39 void writeBinary(byte[] data, int offset, int len) — Similar to writeBinary(Base64Variant,byte[],int,int), but default to using the Jackson default Base64 variant (which is Base64Variants.MIME_NO_LINEFEEDS).
40 int writeBinary(InputStream data, int dataLength) — Similar to writeBinary(Base64Variant,InputStream,int), but assumes default to using the Jackson default Base64 variant (which is Base64Variants.MIME_NO_LINEFEEDS).
41 void writeBinaryField(String fieldName, byte[] data) — Convenience method for outputting a field entry («member») that contains specified data in base64-encoded form.
42 abstract void writeBoolean(boolean state) — Method for outputting literal Json boolean value (one of Strings ‘true’ and ‘false’).
43 void writeBooleanField(String fieldName, boolean value) — Convenience method for outputting a field entry («member») that has a boolean value.
44 abstract void writeEndArray() — Method for writing closing marker of a JSON Array value (character ‘]’; plus possible white space decoration if pretty-printing is enabled).
45 abstract void writeEndObject() — Method for writing closing marker of a JSON Object value (character ‘}’; plus possible white space decoration if pretty-printing is enabled).
46 abstract void writeFieldName(SerializableString name) — Method similar to writeFieldName(String), main difference being that it may perform better as some of processing (such as quoting of certain characters, or encoding into external encoding if supported by generator) can be done just once and reused for later calls.
47 abstract void writeFieldName(String name) — Method for writing a field name (JSON String surrounded by double quotes: syntactically identical to a JSON String value), possibly decorated by white space if pretty-printing is enabled.
48 abstract void writeNull() — Method for outputting literal Json null value.
49 void writeNullField(String fieldName) — Convenience method for outputting a field entry («member») that has JSON literal value null.
50 abstract void writeNumber(BigDecimal dec) — Method for outputting indicate Json numeric value.
51 abstract void writeNumber(BigInteger v) — Method for outputting given value as Json number.
52 abstract void writeNumber(double d) — Method for outputting indicate Json numeric value.
53 abstract void writeNumber(float f) — Method for outputting indicate Json numeric value.
54 abstract void writeNumber(int v) — Method for outputting given value as Json number.
55 abstract void writeNumber(long v) — Method for outputting given value as Json number.
56 void writeNumber(short v) — Method for outputting given value as Json number.
57 abstract void writeNumber(String encodedValue) — Write method that can be used for custom numeric types that can not be (easily?) converted to «standard» Java number types.
58 void writeNumberField(String fieldName, BigDecimal value) — Convenience method for outputting a field entry («member») that has the specified numeric value.
59 void writeNumberField(String fieldName, double value) — Convenience method for outputting a field entry («member») that has the specified numeric value.
60 void writeNumberField(String fieldName, float value) — Convenience method for outputting a field entry («member») that has the specified numeric value.
61 void writeNumberField(String fieldName, int value) — Convenience method for outputting a field entry («member») that has the specified numeric value.
62 void writeNumberField(String fieldName, long value) — Convenience method for outputting a field entry («member») that has the specified numeric value.
63 abstract void writeObject(Object pojo) — Method for writing given Java object (POJO) as Json.
64 void writeObjectField(String fieldName, Object pojo) — Convenience method for outputting a field entry («member») that has contents of specific Java object as its value.
65 void writeObjectFieldStart(String fieldName) — Convenience method for outputting a field entry («member») (that will contain a JSON Object value), and the START_OBJECT marker.
66 void writeObjectId(Object id) — Method that can be called to output so-called native Object Id.
67 void writeObjectRef(Object id) — Method that can be called to output references to native Object Ids.
68 void writeOmittedField(String fieldName) Method called to indicate that a property in this position was skipped.
69 abstract void writeRaw(char c) — Method that will force generator to copy input text verbatim with no modifications (including that no escaping is done and no separators are added even if context [array, object] would otherwise require such).
70 abstract void writeRaw(char[] text, int offset, int len) — Method that will force generator to copy input text verbatim with no modifications (including that no escaping is done and no separators are added even if context [array, object] would otherwise require such).
71 void writeRaw(SerializableString raw) — Method that will force generator to copy input text verbatim with no modifications (including that no escaping is done and no separators are added even if context [array, object] would otherwise require such).
72 abstract void writeRaw(String text) — Method that will force generator to copy input text verbatim with no modifications (including that no escaping is done and no separators are added even if context [array, object] would otherwise require such).
73 abstract void writeRaw(String text, int offset, int len) — Method that will force generator to copy input text verbatim with no modifications (including that no escaping is done and no separators are added even if context [array, object] would otherwise require such).
74 abstract void writeRawUTF8String(byte[] text, int offset, int length) — Method similar to writeString(String) but that takes as its input a UTF-8 encoded String that is to be output as-is, without additional escaping (type of which depends on data format; backslashes for JSON).
75 abstract void writeRawValue(char[] text, int offset, int len)
76 abstract void writeRawValue(String text) — Method that will force generator to copy input text verbatim without any modifications, but assuming it must constitute a single legal JSON value (number, string, boolean, null, Array or List).
77 abstract void writeRawValue(String text, int offset, int len)
78 abstract void writeStartArray() — Method for writing starting marker of a JSON Array value (character ‘[‘; plus possible white space decoration if pretty-printing is enabled).
79 abstract void writeStartObject() — Method for writing starting marker of a JSON Object value (character ‘{‘; plus possible white space decoration if pretty-printing is enabled).
80 abstract void writeString(char[] text, int offset, int len) — Method for outputting a String value.
81 abstract void writeString(SerializableString text) — Method similar to writeString(String), but that takes SerializableString which can make this potentially more efficient to call as generator may be able to reuse quoted and/or encoded representation.
82 abstract void writeString(String text) — Method for outputting a String value.
83 void writeStringField(String fieldName, String value) — Convenience method for outputting a field entry («member») that has a String value.
84 abstract void writeTree(TreeNode rootNode) — Method for writing given JSON tree (expressed as a tree where given JsonNode is the root) using this generator.
85 void writeTypeId(Object id) — Method that can be called to output so-called native Type Id.
86 abstract void writeUTF8String(byte[] text, int offset, int length) — Method similar to writeString(String) but that takes as its input a UTF-8 encoded String which has not been escaped using whatever escaping scheme data format requires (for JSON that is backslash-escaping for control characters and double-quotes; for other formats something else).

Методы унаследованы

Этот класс наследует методы от следующих классов:

  • java.lang.Object

java.lang.Object

JsonParser Class

Вступление

JsonParser is the base class to define public API for reading Json content. Instances are created using factory methods of a JsonFactory instance.

Объявление класса

Following is the declaration for com.fasterxml.jackson.core.JsonParser class:

public abstract class JsonParser
   extends Object
      implements Closeable, Versioned

Вложенные классы

SN Класс и описание
1 static class JsonParser.Feature
Enumeration that defines all togglable features for parsers.
2 static class JsonParser.NumberType
Enumeration of possible «native» (optimal) types that can be used for numbers.

поля

  • protected int _features — Bit flag composed of bits that indicate which JsonParser.Features are enabled.

protected int _features — Bit flag composed of bits that indicate which JsonParser.Features are enabled.

Конструкторы

SN Конструктор и описание
1 protected JsonParser()
Default constructor
2 protected JsonParser(int features)

Методы класса

SN Метод и описание
1 protected JsonParseException _constructError(String msg) — Helper method for constructing JsonParseExceptions based on current state of the parser.
2 protected void _reportUnsupportedOperation() — Helper method to call for operations that are not supported by parser implementation.
3 boolean canReadObjectId() — Introspection method that may be called to see if the underlying data format supports some kind of Object Ids natively (many do not; for example, JSON doesn’t).
4 boolean canReadTypeId() — Introspection method that may be called to see if the underlying data format supports some kind of Type Ids natively (many do not; for example, JSON doesn’t).
5 boolean canUseSchema(FormatSchema schema) — Method that can be used to verify that given schema can be used with this parser (using setSchema(com.fasterxml.jackson.core.FormatSchema)).
6 abstract void clearCurrentToken() — Method called to «consume» the current token by effectively removing it so that hasCurrentToken() returns false, and getCurrentToken() null).
7 abstract void close() — Closes the parser so that no further iteration or data access can be made; will also close the underlying input source if parser either owns the input source, or feature JsonParser.Feature.AUTO_CLOSE_SOURCE is enabled.
8 JsonParser configure(JsonParser.Feature f, boolean state) — Method for enabling or disabling specified feature (check JsonParser.Feature for list of features)
9 JsonParser disable(JsonParser.Feature f) — Method for disabling specified feature (check JsonParser.Feature for list of features)
10 JsonParser enable(JsonParser.Feature f) — Method for enabling specified parser feature (check JsonParser.Feature for list of features)
11 abstract BigInteger getBigIntegerValue() — Numeric accessor that can be called when the current token is of type JsonToken.VALUE_NUMBER_INT and it can not be used as a Java long primitive type due to its magnitude.
12 byte[] getBinaryValue() — Convenience alternative to getBinaryValue(Base64Variant) that defaults to using Base64Variants.getDefaultVariant() as the default encoding.
13 abstract byte[] getBinaryValue(Base64Variant b64variant) — Method that can be used to read (and consume — results may not be accessible using other methods after the call) base64-encoded binary data included in the current textual JSON value.
14 boolean getBooleanValue() — Convenience accessor that can be called when the current token is JsonToken.VALUE_TRUE or JsonToken.VALUE_FALSE.
15 byte getByteValue() — Numeric accessor that can be called when the current token is of type JsonToken.VALUE_NUMBER_INT and it can be expressed as a value of Java byte primitive type.
16 abstract ObjectCodec getCodec() — Accessor for ObjectCodec associated with this parser, if any.
17 abstract JsonLocation getCurrentLocation() — Method that returns location of the last processed character; usually for error reporting purposes.
18 abstract String getCurrentName() — Method that can be called to get the name associated with the current token: for JsonToken.FIELD_NAMEs it will be the same as what getText() returns; for field values it will be preceding field name; and for others (array values, root-level values) null.
19 abstract JsonToken getCurrentToken() — Accessor to find which token parser currently points to, if any; null will be returned if none.
20 abstract int getCurrentTokenId() — Method similar to getCurrentToken() but that returns an int instead of JsonToken (enum value).
21 abstract BigDecimal getDecimalValue() — Numeric accessor that can be called when the current token is of type JsonToken.VALUE_NUMBER_FLOAT or JsonToken.VALUE_NUMBER_INT.
22 abstract double getDoubleValue() — Numeric accessor that can be called when the current token is of type JsonToken.VALUE_NUMBER_FLOAT and it can be expressed as a Java double primitive type.
23 abstract Object getEmbeddedObject() — Accessor that can be called if (and only if) the current token is JsonToken.VALUE_EMBEDDED_OBJECT.
24 int getFeatureMask() — Bulk access method for getting state of all standard JsonParser.Features.
25 abstract float getFloatValue() — Numeric accessor that can be called when the current token is of type JsonToken.VALUE_NUMBER_FLOAT and it can be expressed as a Java float primitive type.
26 Object getInputSource() — Method that can be used to get access to object that is used to access input being parsed; this is usually either InputStream or Reader, depending on what parser was constructed with.
27 abstract int getIntValue() — Numeric accessor that can be called when the current token is of type JsonToken.VALUE_NUMBER_INT and it can be expressed as a value of Java int primitive type.
28 abstract JsonToken getLastClearedToken() — Method that can be called to get the last token that was cleared using clearCurrentToken().
29 abstract long getLongValue() — Numeric accessor that can be called when the current token is of type JsonToken.VALUE_NUMBER_INT and it can be expressed as a Java long primitive type.
30 abstract JsonParser.NumberType getNumberType() — If current token is of type JsonToken.VALUE_NUMBER_INT or JsonToken.VALUE_NUMBER_FLOAT, returns one of JsonParser.NumberType constants; otherwise returns null.
31 abstract Number getNumberValue() — Generic number value accessor method that will work for all kinds of numeric values.
32 Object getObjectId() — Method that can be called to check whether current token (one that was just read) has an associated Object id, and if so, return it.
33 abstract JsonStreamContext getParsingContext() — Method that can be used to access current parsing context reader is in.
34 FormatSchema getSchema() — Method for accessing Schema that this parser uses, if any.
35 short getShortValue() — Numeric accessor that can be called when the current token is of type JsonToken.VALUE_NUMBER_INT and it can be expressed as a value of Java short primitive type.
36 abstract String getText() — Method for accessing textual representation of the current token; if no current token (before first call to nextToken(), or after encountering end-of-input), returns null.
37 abstract char[] getTextCharacters() — Method similar to getText(), but that will return underlying (unmodifiable) character array that contains textual value, instead of constructing a String object to contain this information.
38 abstract int getTextLength() — Accessor used with getTextCharacters(), to know length of String stored in returned buffer.
39 abstract int getTextOffset() — Accessor used with getTextCharacters(), to know offset of the first text content character within buffer.
40 abstract JsonLocation getTokenLocation() — Method that return the starting location of the current token; that is, position of the first character from input that starts the current token.
41 Object getTypeId() — Method that can be called to check whether current token (one that was just read) has an associated type id, and if so, return it.
42 boolean getValueAsBoolean() — Method that will try to convert value of current token to a boolean.
43 boolean getValueAsBoolean(boolean defaultValue) — Method that will try to convert value of current token to a boolean.
44 double getValueAsDouble() — Method that will try to convert value of current token to a Java double.
45 double getValueAsDouble(double defaultValue) — Method that will try to convert value of current token to a Java double.
46 int getValueAsInt() — Method that will try to convert value of current token to a int.
47 int getValueAsInt(int defaultValue) — Method that will try to convert value of current token to a int.
48 long getValueAsLong() — Method that will try to convert value of current token to a long.
49 long getValueAsLong(long defaultValue) — Method that will try to convert value of current token to a long.
50 String getValueAsString() — Method that will try to convert value of current token to a String.
51 abstract String getValueAsString(String defaultValue) — Method that will try to convert value of current token to a String.
52 abstract boolean hasCurrentToken() — Method for checking whether parser currently points to a token (and data for that token is available).
53 abstract boolean hasTextCharacters() — Method that can be used to determine whether calling of getTextCharacters() would be the most efficient way to access textual content for the event parser currently points to.
54 abstract boolean isClosed() — Method that can be called to determine whether this parser is closed or not.
55 boolean isEnabled(JsonParser.Feature f) — Method for checking whether specified JsonParser.Feature is enabled.
56 boolean isExpectedStartArrayToken() — Specialized accessor that can be used to verify that the current token indicates start array (usually meaning that current token is JsonToken.START_ARRAY) when start array is expected.
57 Boolean nextBooleanValue() — Method that fetches next token (as if calling nextToken()) and if it is JsonToken.VALUE_TRUE or JsonToken.VALUE_FALSE returns matching Boolean value; otherwise return null.
58 boolean nextFieldName(SerializableString str) — Method that fetches next token (as if calling nextToken()) and verifies whether it is JsonToken.FIELD_NAME with specified name and returns result of that comparison.
59 int nextIntValue(int defaultValue) — Method that fetches next token (as if calling nextToken()) and if it is JsonToken.VALUE_NUMBER_INT returns 32-bit int value; otherwise returns specified default value It is functionally equivalent to:
60 long nextLongValue(long defaultValue) — Method that fetches next token (as if calling nextToken()) and if it is JsonToken.VALUE_NUMBER_INT returns 64-bit long value; otherwise returns specified default value It is functionally equivalent to:
61 String nextTextValue() — Method that fetches next token (as if calling nextToken()) and if it is JsonToken.VALUE_STRING returns contained String value; otherwise returns null.
62 abstract JsonToken nextToken() — Main iteration method, which will advance stream enough to determine type of the next token, if any.
63 abstract JsonToken nextValue() — Iteration method that will advance stream enough to determine type of the next token that is a value type (including JSON Array and Object start/end markers).
64 abstract void overrideCurrentName(String name) — Method that can be used to change what is considered to be the current (field) name.
65 int readBinaryValue(Base64Variant b64variant, OutputStream out) — Similar to readBinaryValue(OutputStream) but allows explicitly specifying base64 variant to use.
66 int readBinaryValue(OutputStream out) — Method that can be used as an alternative to getBigIntegerValue(), especially when value can be large.
67 <T> T readValueAs(Class<T> valueType) — Method to deserialize JSON content into a non-container type (it can be an array type, however): typically a bean, array or a wrapper type (like Boolean).
68 <T> T readValueAs(TypeReference<?> valueTypeRef) — Method to deserialize JSON content into a Java type, reference to which is passed as argument.
69 <T extends TreeNode> T readValueAsTree() — Method to deserialize JSON content into equivalent «tree model», represented by root TreeNode of resulting model.
70 <T> Iterator<T> readValuesAs(Class<T> valueType) — Method for reading sequence of Objects from parser stream, all with same specified value type.
71 <T> Iterator<T> readValuesAs(TypeReference<?> valueTypeRef) — Method for reading sequence of Objects from parser stream, all with same specified value type.
72 int releaseBuffered(OutputStream out) — Method that can be called to push back any content that has been read but not consumed by the parser.
73 int releaseBuffered(Writer w) — Method that can be called to push back any content that has been read but not consumed by the parser.
74 boolean requiresCustomCodec() — Method that can be called to determine if a custom ObjectCodec is needed for binding data parsed using JsonParser constructed by this factory (which typically also implies the same for serialization with JsonGenerator).
75 abstract void setCodec(ObjectCodec c) — Setter that allows defining ObjectCodec associated with this parser, if any.
76 JsonParser setFeatureMask(int mask) — Bulk set method for (re)settting states of all standard JsonParser.Features
77 void setSchema(FormatSchema schema) — Method to call to make this parser use specified schema.
78 abstract JsonParser skipChildren() — Method that will skip all child tokens of an array or object token that the parser currently points to, iff stream points to JsonToken.START_OBJECT or JsonToken.START_ARRAY.
79 abstract Version version() — Accessor for getting version of the core package, given a parser instance.

Методы унаследованы

Этот класс наследует методы от следующих классов:

java.lang.Object