ObjectMapper 클래스는 Jackson 라이브러리의 주요 클래스입니다. JSON 구조와 일치하도록 Java 객체로 변환 될 몇 가지 기능을 제공하며 그 반대도 마찬가지입니다. JSONPARSER 및 JSONGENERATOR의 인스턴스를 사용하여 JSON의 실제 읽기/쓰기를 구현합니다.
클래스 선언
다음은 org.codehaus.jackson.map.objectmapper 클래스의 선언입니다.
Public Class ObjectMapper 확장 객체 Codec 구현 버전
중첩 된 수업
| Sn | 수업 및 설명 |
|---|---|
| 1 | 정적 클래스 ObjectMapper.DefaultTyPeresolverBuilder // TyperESOLVERBUILDER 사용자 정의, 유형 해상도 빌더를 사용하여 소위 "기본 입력"을 제공합니다 (자세한 내용은 enableDefaultTyping () 참조). |
| 2 | static class objectmapper.defaulttyping // enabledefaulttyping () 열거를 사용하여 기본 입력을 사용해야하는 유형 (클래스)을 지정하십시오. |
| Sn | 생성자 및 설명 |
|---|---|
| 1 | ObjectMapper () // 기본 생성자는 SerializerProvider로 serializerProvider로 사용하고 SerializerFactory로 사용하는 데 필요한 경우 기본값 jsonFactory를 빌드합니다. |
| 2 | ObjectMapper (JSONFACTORY JF) // 지정된 JSONFACTORY를 사용하여 필요한 JSONPARSERS 및/또는 JSONGENERASS 맵을 구성합니다. |
| 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 { / * * * 클래스 Descripton은 여기로 이동합니다. * * @class Jackson * @version 1.0 */ public static jsongenerator jsongenerator = null; 개인 정적 ObjectMapper Mapper = New ObjectMapper (); public static void main (String [] args) {학생 학생 = 신입생 (); Student.setisStudent (true); 학생 .SetUid (1000); 학생 .setuname ( "Xiao Liao"); Student.setUpwd ( "123"); 학생 .setNumber (12); 지도 <문자열, 학생> stumap = new Hashmap <문자열, 학생> (); stumap.put ( "1", 학생); stumap.put ( "2", 학생); List <Object> stulist = new ArrayList <Object> (); List <tudent> stulist1 = new ArrayList <tudent> (); stulist1.add (학생); 학생 = 신입생 (); Student.setisStudent (false); Student.setUid (200); 학생 .setuname ( "Xiao Mi"); stulist1.add (학생); stulist.add (학생); stulist.add (Stucent xin "); stulist.add ("xiao er "); stulist.add (stumap); // readjson2list (); try {// readjson2array (); // array); // writejson2list (); writejson2json (writejson2json); // WriteMap2json (stumap); writeentity2json (객체 객체)는 ioexception {mapper.writeValue ( "d : //developsoft//aaadowload//testjson1//lib//aa.txt"), 객체. todo (배열은 JSON 배열로 변환) * @Param Object * @Throws ioException */ public static void void void wardearRay2json (Object)는 IoException {// writeValue가 writeObject mappper.writeValue (new)와 동일한 기능을 갖습니다. 파일 ( "D : //developsoft//aaadowload//testjson1//lib//aa.txt"), Mappper.writeValue (System.out, Object); 2011-11-8 liao yiping*/ public static void writeMap2json (객체 객체)은 ioexception {induremapper -------------------- 파일 (d : //developsoft//aaadowload//testjson1//lib//aamap.txt), 객체); writeList2json (객체 객체)는 ioException {system.out.println ( "==>"+mapper.writeValueAsString (객체) ( "d : //developsoft//aAdowload//testjson1//aamap.txt"); ); "D : //developsoft//aaadowload//testjson1//lib//aa.txt"); outpper.defaultPrettyPrintingWriter (). writeValueAsString (value); Mapper.readValue (JSON, Student.Class); "JSON2 :"+Student1.ToString ());}; System.out.println (JSON 문자열 ------------------ system.out.println (whiting.toString ()); mi/", upwd/": null,/"number/": 0.0,/"isstudent/": false} "; = interator = key.iterator (); hasnext () {String) iterator.next.out.println; }/*** JSON은 객체를 나열하도록 변환됩니다*/public static void readjson2list () {string json = "[{/"uid/": 1,/"uname/":/"www/",/"number/":/"upwd/":/"456/"}," + "/"Uid/":/"tom/",/"number/":3.44,/"123/"}]; <size (); map <string, map = list.get (i); (jsonparseexception e) {e.printstacktrace (); "{/"uid/": 1,/"uname/":/"www/",/"number/":/"upwd/":/"456/"},"{/"uid/":5,/"Uname/":/"tom/",/"number/":3.44,/"u. " 학생들 [json, student : student) { ">"+student.toString ()} {e.printSception e); e.printstacktrace ();인쇄 결과 :
Entity ----------------------------------1000, 이름 = Xiao Liao, UPWD = 123, 번호 = 12.0, isstudent = truewritemap2json ----------- { "2": { "uid": "uname": "Xiao liao ","upwd ":"123 ","number ": 12.0,"isstudent ": true},"1 ": {"uid ": 1000,"uname ":"xiao liao ","upwd ":"123 ","number ":"isstudent ": true}} readjson2array ----------------------------------------------------------------------------------------------------------------------------------------------------------- 숫자 = 234.0, isstudent = false> uid = 5, name = tom, upwd = 123, 숫자 = 3.44, isstude -------------- { "2": { "uid": 1000, "uname": "Xiao Liao", "Upwd": "123", "number": 12.0, "isstudent": true}, "1": { "uid": "uname": "Xiao liao ","upwd ":"123 ","number ": 12.0,"isstudent ": true}}}모두, 혼자서 시도해보십시오. 위는 내 테스트 코드입니다.