La clase ObjectMapper es la clase principal de la Biblioteca Jackson. Proporciona cierta funcionalidad que se convertirá en objetos Java para que coincidan con las estructuras JSON y viceversa. Utiliza instancias de JSONPARSER y JSONGENERATOR para implementar lectura/escritura real de JSON.
Declaración de clase
La siguiente es la declaración de la clase org.codehaus.jackson.map.objectMapper:
clase pública ObjectMapper extiende ObjectCodec Implementos versionados
Clases anidadas
| Sn | Clase y descripción |
|---|---|
| 1 | Clase estática ObjectMapper |
| 2 | Class estática ObjectMapper.DefaultTyping // Use Enumeración ActivedFaultTyping () para especificar qué tipo (clase) se debe usar la entrada predeterminada. |
| Sn | Constructor y descripción |
|---|---|
| 1 | ObjectMapper () // Constructor predeterminado, que construirá el JSONFactory predeterminado si es necesario para usar STSSerializerProvider como su SerializerProvider y BeanSerializerFactory como su Factory Serializer. |
| 2 | ObjectMapper (JSONFactory JF) // Construye los mapas JSONParsers y/o JSongenerators necesarios utilizando la JSONFactory especificada. |
| 3 | ObjectMapper (JSONFactory JF, SerializerProvider SP, DeserializerProvider DP) |
| 4 | ObjectMapper (JSONFactory JF, SerializerProvider SP, DeserializerProvider DP, SerializationConfig Sconfig, DeserializationConfig DConfig) |
| 5 | ObjectMapper (SerializerFactory SF) no se recomienda. Use otras construcciones en su lugar; Tenga en cuenta que puede establecer la fábrica de serialización setSerializerFactory (org.codehaus.jackson.map.serializerfactory) |
El código básico de la clase de prueba de ejemplo es el siguiente
/ * * @project java * @package * @file jackson.java * @version 1.0 * /public class Jackson { / * * * La clase Descripton va aquí. * * @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 (verdadero); Student.SetUid (1000); Student.SetUname ("Xiao Liao"); student.setupwd ("123"); Student.setNumber (12); MAP <String, Student> stumap = new Hashmap <String, Student> (); stumap.put ("1", estudiante); stumap.put ("2", estudiante); Lista <S Object> STULIST = new ArrayList <ject> (); Lista <deude> stulist1 = new ArrayList <Sentude> (); stulist1.add (estudiante); estudiante = nuevo estudiante (); student.setisStudent (falso); Student.SetUid (200); Student.SetUname ("Xiao Mi"); stulist1.add (estudiante); stulist.add (estudiante); stulist.add (stucent xin "); stulist.add (" xiao er "); stulist.add (stumap); // readjson2List (); try {// readjson2Array (); // writearray2json (array); // writejson2list (); // writeentity2json (student); writeJson (); // WRITEMAP2JSON (stumap); WriteEntity2JSON (Object Object) lanza IOException {mapper.writeValue (nuevo archivo ("d: //developsoft//aaaadowload TODO (Array convertido a JSON Array) * @param Object * @throws ioException */ public static void writeArray2Json (objeto objeto) lanza ioexception {// writeValue tiene la misma función que writeObject Mappper.WriteValue (nuevo Archivo ("d: //developsoft//aaadowload//testjson1//lib//aa.txt"), objeto); @Since 2011-11-8 liao yiping*/ public static void writeMap2json (objeto objeto) lanza ioexception {system.out.println ("use objectMapper ----------------"); nuevo archivo ("d: //developsoft//aaadowload//testjson1//lib//aamap.txt"), objeto); void writeList2Json (objeto objeto) lanza IOException {System.out.println ("==>"+mapper.writeValueasString (objeto)); , objeto); Archivo ("d: //developsoft//aaAdowload//testjson1//lib//aa.txt"); output // mapper.defaultPrettyPrintingWriter (). WriteValueAsString (valor); mapper.readValue (json, student.class); System.out.println ("JSON String to Entity -----------------"); System.out.println (student.toString ()); MI/",/" UPWD/": NULL,/" NUMBRE/": 0.0," ISSTUDENT/": FALSO}]"; = Link.Keyset (); }/*** json se convierte en el objeto de lista*/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/",/" número/": 234,/" upwd/":/" 456/"}," + "{//"uid/":5,/"uname Student [] Students = MAPPER.EntValue (JSON, Student []. Class); E.PrintStackTrace ();Resultado de impresión:
串转换成 Entidad ------------- JSON2: UID = 1000, Name = Xiao Liao, UPWD = 123, Number = 12.0, isStudent = TrueWriteMap2Json ----------- {"2": {"Uid": 1000, "Uname": "Xiao liao "," upwd ":" 123 "," número ": 12.0," isstudent ": true}," 1 ": {" uid ": 1000," uname ":" xiao liao "," upwd ":" 123 "," número ": 12.0," isstudent ": true}} readjson2array ---------------------------->> uid = 1, name = www, upwd = 456, número = 234.0, isStudent = false> uid = 5, name = tom, upwd = 123, número = 3.44, iss ------------- {"2": {"uid": 1000, "uname": "xiao liao", "upwd": "123", "número": 12.0, "isStudent": true}, "1": {"uid": 1000, "uname": "xiao liao "," upwd ":" 123 "," número ": 12.0," isstudent ": true}}Todos, pruébalo solo, lo anterior también es mi código de prueba