Kelas ObjectMapper adalah kelas utama Perpustakaan Jackson. Ini menyediakan beberapa fungsionalitas yang akan dikonversi ke objek Java untuk mencocokkan struktur JSON dan sebaliknya. Ini menggunakan contoh JSONParser dan JSongenerator untuk mengimplementasikan bacaan/penulisan JSON yang sebenarnya.
Deklarasi kelas
Berikut ini adalah deklarasi org.codehaus.jackson.map.objectMapper kelas:
ObjectMapper kelas publik memperluas ObjectCodec mengimplementasikan versi
Kelas bersarang
| Sn | Kelas & Deskripsi |
|---|---|
| 1 | Kelas statis ObjectMapper.DefaultTyPeresolverbuilder // Kustomisasi Typeresolverbuilder, menyediakan apa yang disebut "input default" menggunakan pembangun resolusi tipe (lihat enableDefaultTyping () untuk detailnya). |
| 2 | Kelas statis ObjectMapper.DefaultTyping // Gunakan enumerasi enableDefaultTyping () untuk menentukan jenis (kelas) input default yang harus digunakan. |
| Sn | Konstruktor & Deskripsi |
|---|---|
| 1 | ObjectMapper () // Konstruktor default, yang akan membangun JSONFactory default jika perlu untuk menggunakan stdserializerProvider sebagai serializerProvider dan beanserializerFactory sebagai serializerFactory -nya. |
| 2 | ObjectMapper (JSONFactory JF) // Bangun peta JSONParsers dan/atau JSongenerator yang diperlukan menggunakan JSONFactory yang ditentukan. |
| 3 | ObjectMapper (JSONFactory JF, SerializerProvider SP, DeserializerProvider DP) |
| 4 | ObjectMapper (JSONFactory JF, SerializerProvider SP, DeserializerProvider DP, SerializationConfig Sconfig, DeserializationConfig DConfig) |
| 5 | ObjectMapper (SerializerFactory SF) tidak dianjurkan. Gunakan konstruksi lain sebagai gantinya; Perhatikan bahwa Anda dapat mengatur setSerializerFactory pabrik serialisasi (org.codehaus.jackson.map.serializerFactory) |
Kode dasar dari contoh kelas tes adalah sebagai berikut
/ * * @project java * @package * @file jackson.java * @Version 1.0 * /kelas publik Jackson { / * * * Descripton kelas pergi ke sini. * * @class jackson * @Version 1.0 */ public static jsongenerator jsongenerator = null; Private Static ObjectMapper mapper = new ObjectMapper (); public static void main (string [] args) {siswa siswa = siswa baru (); student.setisstudent (true); Student.setuid (1000); Student.setuname ("Xiao Liao"); Student.setupwd ("123"); Student.setNumber (12); Peta <string, student> stumap = hashmap baru <string, student> (); stumap.put ("1", siswa); stumap.put ("2", siswa); Daftar <POMPENT> STULIST = NEW ARRAYLIST <POMPENTS> (); Daftar <Sahasiswa> stulist1 = Daftar ArrayList baru <Sidaya> (); stulist1.add (siswa); siswa = siswa baru (); student.setisstudent (false); Student.setuid (200); Student.setuname ("Xiao Mi"); stulist1.add (siswa); stulist.add (siswa); stuList.add(stucent xin"); stuList.add("xiao er"); stuList.add(stuMap); //readJson2List(); try { //readJson2Array(); //writeArray2Json(array); //writeJson2List(); //writeEntity2Json(student); writeJson2Entity(); // writemap2json (stumap); // writelist2json (stulist1); WriteStity2JSON (Object Object) Melempar IOException {Mapper.WritEvalue (File Baru ("D: //Developsoft//aaadowload//testjson1//lib//aa.txt"); TODO (array dikonversi ke array json) * @param objek * @throws ioException */ public static void writeArray2json (objek objek) melempar ioException {// writevalue memiliki fungsi yang sama dengan writeObject mappper.writevalue (baru File ("D: //Developsoft//aaadowload//testjson1//lib//aa.txt"), objek); 2011-11-8 liao yiping*/ public static void writemap2json (objek objek) melempar ioException {System.out.println ("Gunakan ObjectMapper -------------"); File ("D: //Developsoft//aaadowload//testjson1//lib//aamap.txt"), objek); writelist2json (objek objek) melempar ioException {System.out.println ("==>"+mapper.writevalueasstring (objek)); ); File (D: //Developsoft//aaadowload//testjson1//lib//aa.txt ") output // mapper.defaultPrettyPrintingWriter (). WritevalueAsstring (nilai); 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}] " key = link.keyset (); }/*** json dikonversi ke daftar objek*/public static void readjson2list () {string json = "[{/" uid/": 1,/" uname/":/" www/",/" number/": 234,/" upwd/":/" 456/"}," + + "{/"uid/":5,/"uname/":/"tom/",/"number/":3.44,/"upwd/":/"123/"}] "; i <list.size (); (JsonParseException e) {E.PrintStackTrace (); "[{/" uid/": 1,/" uname/":/" www/",/" number/": 234,/" upwd/":/" 456/"}," + "{/"uid/":5 ,/"uname/":/"tom/"," Siswa [] Mapper.ReadValue (JSON, Siswa [] e) {E.PrintStackTrace ();}}}Hasil Cetak:
串转换成 Entitas ------------- json2: uid = 1000, name = xiao liao, upwd = 123, angka = 12.0, isstudent = truewritemap2json ----------- {"2": {"uid": 1000, "uname": "xiao liao "," upwd ":" 123 "," angka ": 12.0," isstudent ": true}," 1 ": {" uid ": 1000," uname ":" xiao liao "," upwd ":" 123 "," nomor ": 12.0," isstudent ": true}} readjson2Array ------------------------> uid = 1, name = ww w, upwd = 456, angka = 234.0, isStudent = false> uid = 5, name = tom, upwd = 123, angka = 3.44, isstudent = falsewritemap2json ------------- {"2": {"uid": 1000, "uname": "xiao liao", "upwd": "123", "angka": 12.0, "isstudent": true}, "1": {"uid": 1000, "uname": "xiao liao "," upwd ":" 123 "," angka ": 12.0," isstudent ": true}}Semuanya, coba sendiri, di atas juga kode tes saya