Класс ObjectMapper является основным классом библиотеки Джексона. Он предоставляет некоторые функциональные возможности, которые будут преобразованы в Java -объекты, чтобы соответствовать структурам JSON и наоборот. Он использует экземпляры JSonParser и JSongenerator для реализации фактического чтения/записи JSON.
Классовая декларация
Ниже приведено объявление org.codehaus.jackson.map.objectmapper class:
открытый класс ObjectMapper Extends ObjectCodec реализует версию
Вложенные классы
| С | Класс и описание |
|---|---|
| 1 | Статический класс objectmapper.defaulttyperesolverbuilder // Настройка typeresolverbuilder, предоставляя так называемый «Ввод по умолчанию» с использованием строителя типа (для получения подробной информации см. EnabledEfaultTyping ()). |
| 2 | static class objectmapper.defaulttyping // Использовать enabledefaulttyping () перечисление, чтобы указать, какой тип (класс) следует использовать вход по умолчанию. |
| С | Конструктор и описание |
|---|---|
| 1 | ObjectMapper () // Constructor по умолчанию, который при необходимости создаст по умолчанию JSONFactory для использования StdserializerProvider в качестве сериализатора и BeanserializerFactory в качестве SerializerFactory. |
| 2 | ObjectMapper (JSONFACTORY JF) // Создание необходимых карт JSONPARSERS и/или JSONGENERATORS с использованием указанного JSONFACTORY. |
| 3 | ObjectMapper (JsonFactory JF, SerializerProvider SP, DeserializerProvider DP) |
| 4 | ObjectMapper (JSonFactory JF, SerializerProvider SP, DeserializerProvider DP, SerializationConfig Sconfig, DeserializationConfig Dconfig) |
| 5 | ObjectMapper (SerializerFactory SF) не рекомендуется. Вместо этого используйте другие конструкции; Обратите внимание, что вы можете установить сериализацию SetSerializerFactory (org.codehaus.jackson.map.serializerFactory) |
Основной код примера тестового класса заключается в следующем
/ * * @project java * @package * @file jackson.java * @version 1.0 * /public class Jackson { / * * * Class Descripton Gos здесь. * * @class Jackson * @version 1.0 */ public static jsongenerator jsongenerator = null; Private Static ObjectMapper Mapper = new ObjectMapper (); public static void main (string [] args) {Student Student = new Student (); Student.SetisStudent (True); Student.Setuid (1000); Student.setuname ("xiao liao"); Student.setupwd ("123"); Student.SetNumber (12); Map <String, Student> stumap = new Hashmap <String, Student> (); stumap.put ("1", студент); stumap.put ("2", студент); Список <object> stulist = new ArrayList <Object> (); Список <Tlade> stulist1 = new ArrayList <tlood> (); Stulist1.add (студент); Студент = новый студент (); Student.SetisStudent (false); Student.Setuid (200); Student.setuname ("xiao mi"); Stulist1.add (студент); Stulist.add (студент); Stulist.add (унылый Xin "); stulist.add (" xiao er "); Stulist.add (Stumap); // readjson2list (); try {// readjson2array (); // writearray2json (array); // writejson2list (); // write write (stude); // writemap2json (Stumap); writeentity2json (объект объекта) Throws ioexception {mapper.writevalue (new File ("d: //developsoft//aaadowload//testjson1//lib//aa.txt"), Object); Todo (массив преобразован в массив JSON) * @param объект * @Throws ioException */ public static void writearray2json (объект объекта) Throws ioException {// writevalue имеет ту же функцию, что и writeobject mappper.writevalue (новая File ("d: //developsoft//aaadowload//testjson1/lib//aa.txt"), Object); 2011-11-8 Liao yiping*/ public static void wriseemap2json (объект) бросает ioexception {System.out.println («Использовать объект-мапот ----------------»); File ("d: //developsoft//aaadowload//testjson1//lib//aamap.txt"), Object); writelist2json (объект объекта) Throws ioexception {System.out.println ("==>"+mapper.writevalueasstring (Object)); ); File (D: //developsoft//aaadowload//testjson1//lib//aa.txt "); output // mapper.defaultprettyprintingwriter (). writevalueasstring (значение); mapper.readvalue (json, Student.class); System.out.println ("json string to entity ---------------"); System.out.println (Student.tostring ()); Mi/",/" upwd/": null,/" number/": 0.0,/" isstudent/": false}]"; = link.keyset (); }/*** JSON преобразуется в список Live List*/public static void readjson2list () {string json = "[{/" uid/": 1,/" uname/":/" www/",/" number/": 234,/" upwd/":/" 456/"," + " "/"uid/":5,/"uname/"/"tom/",/"number/":3.44,/"upwd/"/"123/"}] "; <list.size (); (JsonParseException e) {e.printstacktrace (); "[/" uid/": 1,/" uname/":/" www/",/" number/": 234,/" upwd/":/" 456/"}," + " Студент. e.printstacktrace ();Результат печати:
串转换成 Entity ------------- JSON2: UID = 1000, name = xiao liao, upwd = 123, number = 12.0, isstudent = trueWritemap2json ----------- {"2": {"uid": 1000, "Uname": "xiao liao "," upwd ":" 123 "," номер ": 12.0," isstudent ": true}," 1 ": {" uid ": 1000," uname ":" xiao liao "," upwd ":" 123 "," номер ": 12.0," isstudent ": true}} readjson2array ------------------------> uid = 1, name = www, upwd = 456, number = 234.0, isStudent = false> uid = 5, name = upwd = 123, number = 3.44, isstement = uid = name = upwd = 123, number = 3.44, isstement ------------- {"2": {"uid": 1000, "uname": "xiao liao", "upwd": "123", "номер": 12.0, "isstudent": true}, "1": {"uid": 1000, "uname": "xiao Liao "," upwd ":" 123 "," номер ": 12.0," isStudent ": true}}Все, попробуйте самостоятельно, выше - это также мой тестовый код