فئة ObjectMapper هي الفئة الرئيسية لمكتبة جاكسون. يوفر بعض الوظائف التي سيتم تحويلها إلى كائنات Java لمطابقة هياكل JSON والعكس بالعكس. يستخدم مثيلات Jsonparser و JSongenerator لتنفيذ القراءة/الكتابة الفعلية لـ JSON.
إعلان الطبقة
فيما يلي إعلان فئة org.codehaus.jackson.map.ObjectMapper:
يمتد ObjectMapper من الفئة العامة ObjectCodec Passeded
الطبقات المتداخلة
| Sn | الفصل والوصف |
|---|---|
| 1 | static class objectmapper.defaulttyperesolverbuilder // تخصيص TyperesolverBuilder ، مما يوفر ما يسمى "الإدخال الافتراضي" باستخدام Type Desolution Builder (انظر EnableDefaultTyping () للحصول على التفاصيل). |
| 2 | static class objectmapper.defaulttyping // استخدم التعداد EnableDefaultTyping () لتحديد نوع (الفئة) يجب استخدام الإدخال الافتراضي. |
| Sn | مُنشئ ووصف |
|---|---|
| 1 | ObjectMapper () // مُنشئ افتراضي ، والذي سيبني Jsonfactory الافتراضي إذا لزم الأمر لاستخدام StdializerProvider باعتباره SerializerProvider و BeanserializerFactory كسلسلة SerializerFactory. |
| 2 | ObjectMapper (Jsonfactory JF) // إنشاء خرائط Jsonparsers و/أو JSongerators اللازمة باستخدام 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) لا ينصح به. استخدم بنيات أخرى بدلاً من ذلك ؛ لاحظ أنه يمكنك تعيين Serialization Factory SetSerializerFactory (org.codehaus.jackson.map.serializerfactory) |
الكود الأساسي لفئة اختبار المثال كما يلي
/ * * project java * package * file jackson.java * version 1.0 * /public class Jackson { / * * * class descripton يذهب هنا. * * class Jackson * @Version 1.0 */ jsongenerator static jsongenerator = null ؛ كائن ثابت خاص mapper = 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) ؛ خريطة <string ، student> stumap = new HashMap <string ، student> () ؛ Stumap.put ("1" ، طالب) ؛ Stumap.put ("2" ، طالب) ؛ قائمة <Object> Stulist = new ArrayList <Object> () ؛ قائمة <Tudent> stulist1 = new ArrayList <Tudent> () ؛ Stulist1.Add (طالب) ؛ الطالب = طالب جديد () ؛ student.setisStudent (false) ؛ student.setuid (200) ؛ student.setUname ("Xiao Mi") ؛ Stulist1.Add (طالب) ؛ Stulist.add (طالب) ؛ Stulist.Add (Stucent Xin ") ؛ Stulist.Add (" Xiao er ") ؛ Stulist.Add (Stumap) ؛ // ReadJson2List () ؛ Try {// readjson2array () // scip2json (stumap) ؛ rementity2json (كائن الكائن) يلقي ioException {mapper.writevalue ("d: //developsoft//aaadowload TODO (تم تحويل Array إلى json array) * param كائن * throws ioException */public static void writearray2json (كائن كائن) يلقي ioException {// writevalue لديه نفس الوظيفة مثل writeObject mapPer.writevalue (ملف جديد ("d: //devivoft/aaadowload ) ؛ System.out.println ("استخدم ObjectMapper ----------------") ؛ ملف ("d: //developsoft//aaadowload//testjson1//lib//aamap.txt") ؛ OrdeList2Json (كائن كائن) يلقي ioException {system.out.println ("==>" ) ؛ File (//developsoft//aaadowload//testjson1//lib//aa.txt ") ؛ الإخراج // mapper.defaultprettyprinting (). writeValueasString (value) ؛ Mapper.ReadValue (json ، student.class) ؛ System.out.println ("json string إلى intity ----------------- System.out.println (student.toString ()) ؛ Mi/"/" upwd/": null ،/" number/":/" isStudent/" key = keyset () ؛ }/*** تم تحويل JSON إلى كائن قائمة*/public static void readjson2List () {string json = "[{/" uid/": 1 ،/" uname/":/" www/"،/" number/": 234 ،/" upwd/":/" 456/"} ،" ، " "/"UID/"5Name/"'/"tom/"number/":30:00 i <listr.size.size () ؛ (jsonparsexception e) {e.printstacktrace () ؛ "[/" uid/": 1 ،/" uname/":/" www/"،/" number/": 234 ،/" upwd/":/" 456/"} ،" + " الطالب [] mapper.readvalue (json ، [. e.printstacktrace () ؛نتيجة الطباعة:
串转换成 الكيان ------------- JSON2: UID = 1000 ، name = Xiao Liao ، UPWD = 123 ، Number = 12.0 ، isStudent = truewritemap2json ----------- {"2": {"UID": 1000 ، "uname": "Xiao Liao "،" upwd ":" 123 "،" Number ": 12.0 ،" isStudent ": True} ،" 1 ": {" uid ": 1000 ،" uname ":" Xiao Liao "،" upwd ":" 123 "،" Number ": 12.0 ،" isStudent ": True}} readjson2array --------------------------> uid = 1 ، name = www ، upwd = 456 ، number = 234.0 ، isStudent = false> uid = 5 ، name ، upwd = ------------- {"2": {"uid": 1000 ، "uname": "Xiao Liao" ، "upwd": "123" ، "number": 12.0 ، "isStudent": true} ، "1": {"uid: 1000 ،" uname ":" xiao Liao "،" upwd ":" 123 "،" Number ": 12.0 ،" isStudent ": True}}الجميع ، جربه بنفسك ، ما سبق هو أيضًا رمز الاختبار الخاص بي