, træet model udarbejder en hukommelses - træ repræsentation af en json dokument.det er den mest fleksible tilgang blandt de tre forarbejdning rejsemåder, som jackson støtter.det ligner dom parser i xml -., skabe et træ fra json, giver et fingerpeg om objectmapper root knudepunkt i træet, efter at have læst json.rod node kan anvendes til at gennemgå hele træet.overveje følgende kode snippet at få root knude af en, der json snor. //skabe en objectmapper instans objectmapper mapper = nye objectmapper(); snor jsonstring = "{\\" navn. ": en" mahesh kumar. ", en" alder. ": 21)" kontrolleret. "falsk". "mark." [100,90,85]} "; //skabe træ fra json jsonnode rootnode = mapper. readtree (jsonstring), gennem et træ, få hver node ved hjælp af den relative vej til roden node, mens gennem træ og behandle data.følgende kode snippet viser, hvordan at komme ind i et træ, forudsat at du har information om roden node., jsonnode namenode = rootnode. vej ("navn"); system. println ("navn:" + namenode. gettextvalue()); jsonnode marksnode = rootnode. vej ("mærker"); iterator, iterator = marksnode. getelements(); træ - eksempel, skabe en java klasse fil, der hedder jacksontester i, c: \\> jackson_workspace,., fil: jacksontester.java, import java.io.ioexception; import java.util.iterator; import org.codehaus.jackson.jsonnode; import org.codehaus.jackson.jsonparseexception; import org.codehaus.jackson.map.jsonmappingexception; import org.codehaus.jackson.map.objectmapper; offentlige klasse jacksontester {offentlige statisk tomrum vigtigste (string - args []) (jacksontester tester = nye jacksontester(); prøve (objectmapper mapper = nye objectmapper(); snor jsonstring = "{\\" navn. ": en" mahesh kumar. ", en" alder. ": 21)" kontrolleret. "falske". "marks." [100,90,85]} "jsonnode rootnode = mapper. readtree (jsonstring); jsonnode namenode = rootnode. vej (" navn "); system. println (" navn: "+ namenode. gettextvalue()); jsonnode agenode = rootnode. vej (" alder "); system. println (" alder: "+ agenode. getintvalue()); jsonnode verifiednode = rootnode. vej (" bekræftet "); system. println (" kontrolleret: + (verifiednode. getbooleanvalue()? "ja "," nej "); jsonnode marksnode = rootnode. vej (" mærker "); iterator < jsonnode > iterator = marksnode. getelements(); system. tryk (" mærker: ["), mens (iterator. hasnext()) (jsonnode markerer = iterator. next(). system.. tryk (varemærker. getintvalue() +");} system. println ("");} fangst (jsonparseexception e) (f. printstacktrace();} fangst (jsonmappingexception e) (f. printstacktrace();} fangst (ioexception e) (f. printstacktrace();}}}, kontrollere resultatet, udarbejde klasser af javac, de således − c:. jackson_workspace> javac jacksontester.java nu gennemføre jacksontester se resultatet, c:. - jack.son_workspace> java jacksontester verificere output og minus; navn: mahesh kumar alder: 21 verificerede: ingen mærker: [100 - 90 - 85], træ til json omstilling i følgende eksempel, vil vi skabe et træ med jsonnode og skrive det til en josn fil og læs det, skabe en java - klasse. fil, der hedder jacksontester i, c: \\> jackson_workspace,., fil: jacksontester.java, import java.io.file; import java.io.ioexception; import java.util.iterator; import org.codehaus.jackson.jsonnode; import org.codehaus.jackson.jsonparseexception; import org.codehaus.jackson.map.jsonmappingexception; import org.codehaus.jackson.map.objectmapper; import org.codehaus.jackson.node.arraynode; import org.codehaus.jackson.node.objectnode; offentlige klasse jacksontester {offentligestatisk tomrum vigtigste (string - args []) (jacksontester tester = nye jacksontester(); prøve (objectmapper mapper = nye objectmapper(); jsonnode rootnode = mapper. createobjectnode(); jsonnode marksnode = mapper. createarraynode(); (arraynode) marksnode). der tilsættes (100); (arraynode) marksnode). der tilsættes (90) (arraynode) marksnode). der tilsættes (85); (objectnode) rootnode). ("navn", "mahesh kumar") (objectnode) rootnode). ("alder", 21) (objectnode) rootnode). ("bekræftet" falsk); (objectnode) rootnode). ("mærker", marksnode); mapper. writevalue (ny database ("elev. json"), rootnode); rootnode = mapper readtree (nye fil.e ("elev. json"); jsonnode namenode = rootnode. vej ("navn"); system. println ("navn:" + namenode. gettextvalue()); jsonnode agenode = rootnode. vej ("alder"); system. println ("alder:" + agenode. getintvalue()); jsonnode verifiednode = rootnode. vej ("bekræftet"); system. println ("kontrolleret: + (verifiednode. getbooleanvalue()?"ja "," nej "); jsonnode marksnode1 = rootnode. vej (" mærker "); iterator < jsonnode > iterator = marksnode1. getelements(); system. tryk (" mærker: ["), mens (iterator. hasnext()) (jsonnode markerer = iterator. next(). system.. tryk (varemærker. getintvalue() +");} system. println ("");} fangst (jsonparseexception e) (f. printstacktrace();} fangst (jsonmappingexception e) (f. printstacktrace();} fangst (ioexception e) (f. printstacktrace();}}}, kontrollere resultatet, udarbejde klasser af javac, de således − c:. jackson_workspace> javac jacksontester.java, nu kører det jacksontester se resultatet, c:. - jack.son_workspace> java jacksontester verificere output og minus; navn: mahesh kumar alder: 21 verificerede: ingen mærker: [100 - 90 - 85], træ til java - objekter, i det følgende eksempel vil vi udføre følgende operationer og minus;,, skabe et træ med jsonnode, skriv det til en json fil. gentag træet og omdanne det til en elev objekt., først og fremmest skabe en java klasse fil, der hedder jacksontester i, c: \\> jackson_workspace,., fil: jacksontester.java, import java.io.file; import java.io.ioexception; import java.util.arrays; import org.codehaus.jackson.jsonnode; import org.codehaus.jackson.jsonparseexception; import org.codehaus.jackson.map.jsonmappingexception; import org.codehaus.jackson.map.objectmapper; import org.codehaus.jackson.node.arraynode; import org.codehaus.jackson.node.objectnode; offentlige klasse jacksontester {offentlige statisk tomrum vigtigste (string - args []) (jacksontester tester = nye jacksontester(); prøve (objectmapper mapper = nye objectmapper(); jsonnode rootnode = mapper. createobjectnode(); jsonnode marksnode = mapper. createarraynode(); (arraynode) marksnode). der tilsættes (100); (arraynode) marksnode). der tilsættes (90); (arraynode) marksnode). der tilsættes (85); (objectnode) rootnode). ("navn", "mahesh kumar") (objectnode) rootnode). ("alder", 21) (objectnode) (rootnode). "bekræftet" falsk); (objectnode) rootnode). ("mærker", marksnode); mapper.writevalue (ny database ("elev. json"), rootnode); rootnode = mapper. readtree (ny database ("elev. json") studerende = mapper. treetovalue (rootnode, elev. klasse) system. println ("navn:" + elev. getname()) system. ud. println ("alder:" + elev. getage()) system. println ("kontrolleret: + (studerende. isverified()?"ja "," nej ") system. println (" mærker "+ arrays. tostring (studerende. getmarks())} fangst (jsonparseexception e) (f. printstacktrace();} fangst (jsonmappingexception e) (f. printstacktrace();} fangst (ioexception e) (f. printstacktrace();}}} klasse studerende (string navn int alder; boolean verificeres; int. [...] mærker; offentlige snor getname() {navn} offentlige tomrum tilbage; setname (string navn) (this.name = navn} offentlige int getage() {tilbage alder;} offentlige tomrum setage (int alder) (this.age = alder;} offentlige boolean isverified() {tilbage kontrollerede;) offentlige tomrum setverified (boolean verificerede) (this.verified = verificeret}offentlige int. [...] getmarks() {tilbage varemærke} offentlige tomrum setmarks (int. [...] mærker) (this.marks = varemærke}}, kontrollere resultatet, samle de klasser af javac, de således − c:. jackson_workspace> javac jacksontester.java nu gennemføre jacksontester se resultatet, c.: \\ jackson_workspace> java jacksontester verificere output og minus; navn: mahesh kumar alder: 21 verificerede: ingen mærker: [100 - 90 - 85]
jackson træ model
Next Page:jackson streaming api -