A classe ObjectMapper é a classe principal da biblioteca Jackson. Ele fornece algumas funcionalidades que serão convertidas em objetos Java para combinar as estruturas JSON e vice -versa. Ele usa instâncias do JSONPARSER e Jsongenerator para implementar a leitura/gravação real do JSON.
Declaração de classe
A seguir, é apresentada a declaração da classe org.codehaus.jackson.map.objectmapper:
Public Class ObjectMapper estende o ObjectCodec implementa versão
Classes aninhadas
| Sn | Classe & Descrição |
|---|---|
| 1 | Classe estática ObjectMapper.DefaultTypeResolverbuilder // Personalize o TypeResolverBuilder, fornecendo a chamada "entrada padrão" usando o Type Resolution Builder (consulte HableDefaultTyping () para obter detalhes). |
| 2 | Classe estática ObjectMapper.DefaultTyping // Use EnableFaultTyping () enumeração para especificar que tipo (classe) a entrada padrão deve ser usada. |
| Sn | Construtor e descrição |
|---|---|
| 1 | ObjectMapper () // Construtor padrão, que criará o JSONFactory padrão, se necessário, para usar o StdSerializerProvider como seu serializerProvider e BeanserializerFactory como seu serializador. |
| 2 | ObjectMapper (jsonfactory jf) // Construa os mapas jsonparsers e/ou jsongeneradores necessários usando o jsonFactory especificado. |
| 3 | ObjectMapper (JsonFactory JF, SerializerProvider SP, DeserializerProvider DP) |
| 4 | ObjectMapper (JsonFactory JF, SerializerProvider SP, DeserializerProvider DP, Seconfig de SerializationConfig, DeserializationConfig DConfig) |
| 5 | ObjectMapper (SF SF SFA) não é recomendado. Use outras construções; Observe que você pode definir o setSerializerFactory SetializerFactory (org.codehaus.jackson.map.serializerfactory) |
O código básico da classe de teste de exemplo é o seguinte
/ * * @Project java * @package * @File Jackson.java * @version 1.0 * /public class Jackson { / * * * Classe Descriptton vai aqui. * * @class Jackson * @version 1.0 */ public static jsongenerator jsongenerator = null; Mapper estático de objeto estático privado = new objectMapper (); public static void main (string [] args) {Student Student = new Student (); estudante.SetIsStudent (verdadeiro); estudante.setUid (1000); estudante.setUname ("xiao liao"); estudante.setupwd ("123"); estudante.SetNumber (12); Mapa <string, aluno> stumap = new hashmap <string, aluno> (); stumap.put ("1", aluno); stumap.put ("2", aluno); List <ject> estulist = new ArrayList <ject> (); List <very Student> Stulist1 = new ArrayList <very Student> (); Stulist1.Add (estudante); aluno = novo aluno (); estudante.SetIsStudent (falso); estudante.setUid (200); estudante.setUname ("xiao mi"); Stulist1.Add (estudante); estulista.add (estudante); estulist.add (stogente xin "); estulist.add (" xiao er "); estulist.add (stumap); // readjson2List (); try {// readjson2array (); // writeArray2json (array); // writejson2list (); // writeArray2json (Array); // WRITEMAP2JSON (STUMAP); WriteEntity2json (objeto) lança ioexception {mapper.writeValue (novo arquivo ("d: //develdsoft//aaadowload//testjson1//lib//aa.txt" ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** * ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **, Convertido para JSON Array) * Objeto @param * @THOWSoException */public static void writeArray2json (objeto) lança ioexception {// writeValue tem a mesma função que writeObject mappper.writevalue (new File (d: //develssoft/aaadowload/stestjson1; mappper.WriteValue (System.out, objeto); System.out.println ("Use ObjectMapper ----------------"); ); System.out.println ("==>"+mapper.writevalueasstring (objeto)); * @Description: TODO (JSON convertido em entidade) * @Throws IoException */ public static void writejson2entity () lança ioexception {System.out.println ("String json convertida em entidade ----------------"); Arquivo "d: //developsoft/aaadowload//testjson1/lib/aa.txt"); output // Mapper.DeFaultSttyPrintingWriter (). WriteValueasstring (Valor); mapper.readValue (JSON, Student.class); System.Println (String json para entidade ------------------- "); System.out.println (Student.ToString ()); mi/",/" Upwd/": nulo,/" Número/": 0.0,/" isStudent/": false}]"; link.keyset (); /*** JSON é convertido para listar objeto*/public static void readjson2List () {String json = "[{/" uid/": 1,/" uname/":/" www/",/" número/": 234,/" upwd/":/" 456/"}," + "" list.size (); e) {E.PrintStackTrace (); "[{/" uid/": 1,/" uname/":/" www/",/" número/": 234,/" upwd/":/" 456/"}," Aluno [] estudantes = Mapper.readValue (JSON, Student []. E.PrintStackTrace ();Resultado de impressão:
串转换成 entidade ------------- json2: uid = 1000, nome = xiao liao, upwd = 123, número = 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, nome = www, upwd = 456, número = 234.0, isStudent = false> uid = 5, name = Tom = 456, upwd = 123.13, Upwd = 123 ------------- {"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}}Todo mundo, experimente sozinho, o acima também é o meu código de teste