suchen
HeimBackend-EntwicklungXML/RSS-TutorialEs wird das Java-Objekt-, Json- und XML-Konvertierungstool Jackson verwendet


Es ist sehr üblich, ein Objekt in einen String im Json-Format in Java-Projekten zu konvertieren. Es gibt viele Toolkits, die diese Anforderung erfüllen können, wie z. B. Gson, JSON-lib, Jackson und bald. In diesem Artikel wird hauptsächlich die Verwendung von Jackson vorgestellt. Neben der Konvertierung von Java-Objekten und JSON-Strings kann Jackson auch Java-Objekte in das XML-Format konvertieren. Es ist relativ einfach zu verwenden und gilt als relativ effizient.
Für Jacksons JAR-Paket können wir es aus der Maven-Ressourcenbibliothek herunterladen: http://www.php.cn/

Das erforderliche JAR-Paket lautet wie folgt, suchen Sie es einfach nach Namen und laden Sie es herunter.

Es wird das Java-Objekt-, Json- und XML-Konvertierungstool Jackson verwendet

Als nächstes benötigen wir eine Java-Klasse:

package com.csii.jackson.object;
public class Book{    
private String name;    
private int price;    
public String getName() {        
return name;
    }    public void setName(String name) {        
    this.name = name;
    }    public int getPrice() {        
    return price;
    }    public void setPrice(int price) {        
    this.price = price;
    }    public Book() {

    }    public Book(String name,int price) {        
    this.name = name;        
    this.price = price;
    } 
    @Override    
    public String toString() { 
        return "name:" + name +"; price:" + price;
    }

}

1. Konvertieren Sie das Java-Objekt in einen Json-String:

    @Test    public void testGenJson()
    {
        ObjectMapper objMapper = new ObjectMapper();
        Book book = new Book("Think in Java",100);        try {
            jsonGen = objMapper.getJsonFactory().createJsonGenerator(System.out,JsonEncoding.UTF8);
            jsonGen.writeObject(book);
        } catch (IOException e) { 
            e.printStackTrace();
        } 
    }

Führen Sie die Testmethode aus, Konsolenausgabe:

{"name":"Think in Java","price":100}

2. Konvertieren Sie den Json-String in ein Java-Objekt:

    /*
     * Json转Java对象
     */
    @Test    public void testGenObjByJson()
    {
        ObjectMapper objMapper = new ObjectMapper();
        String json = "{\"name\":\"Think in Java\",\"price\":100}"; 
        try {
            Book book = objMapper.readValue(json, Book.class);
            System.out.println(book);
        } catch (IOException e) { 
            e.printStackTrace();
        }  
    }

Da wir die Book-Klasse-toString-Methode neu geschrieben haben, führen Sie die aus Testmethode, Konsolenausgabe:

name:Think in Java; price:100

3. Java-Objekt in XML-Format konvertieren:

     /*
     * Java对象转xml
     */
    @Test    public void testGenXml()
    {
        XmlMapper xmlMapper = new XmlMapper();

        Book book = new Book("Think in Java",100);        try {
            String xmlStr =  xmlMapper.writeValueAsString(book);
            System.out.println(xmlStr);
        } catch (JsonProcessingException e) { 
            e.printStackTrace();
        }
    }

Führen Sie die Testmethode aus, Konsolenausgabe:

<Book xmlns=""><name>Think in Java</name><price>100</price></Book>

4. Konvertieren Sie die XML-Formatzeichenfolge in ein Java-Objekt:

    /*
     * xml转Java对象
     */
    @Test    public void testGenObjByXml()
    {
        XmlMapper xmlMapper = new XmlMapper();
        String xmlStr = "<Book><name>Think in Java</name><price>100</price></Book>"; 
        try {
            Book book = xmlMapper.readValue(xmlStr, Book.class);
            System.out.println(book);
        } catch (IOException e) {            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

Ausgabeinhalt:

name:Think in Java; price:100

Vollständiger Testfallcode:

package com.csii.jackson.test;
import java.io.IOException;
import org.junit.Test;
import com.csii.jackson.object.Book;
import com.fasterxml.jackson.core.JsonEncoding;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.dataformat.xml.XmlMapper;
@SuppressWarnings("deprecation")
public class JsonTest { 
    private JsonGenerator jsonGen = null;
    /*
     * Java对象转 Json
     */
    @Test
    public void testGenJson()
    {
        ObjectMapper objMapper = new ObjectMapper();
        Book book = new Book("Think in Java",100);
        try {
            jsonGen = objMapper.getJsonFactory().createJsonGenerator(System.out,JsonEncoding.UTF8);
            jsonGen.writeObject(book);
        } catch (IOException e) { 
            e.printStackTrace();
        } 
    }    /*
     * Json转Java对象
     */
    @Test
    public void testGenObjByJson()
    {
        ObjectMapper objMapper = new ObjectMapper();
        String json = "{\"name\":\"Think in Java\",\"price\":100}"; 
        try {
            Book book = objMapper.readValue(json, Book.class);
            System.out.println(book);
        } catch (IOException e) { 
            e.printStackTrace();
        }  
    }    /*
     * Java对象转xml
     */
    @Test
    public void testGenXml()
    {
        XmlMapper xmlMapper = new XmlMapper();

        Book book = new Book("Think in Java",100);
        try {
            String xmlStr =  xmlMapper.writeValueAsString(book);
            System.out.println(xmlStr);
        } catch (JsonProcessingException e) { 
            e.printStackTrace();
        }
    }    /*
     * xml转Java对象
     */
    @Test
    public void testGenObjByXml()
    {
        XmlMapper xmlMapper = new XmlMapper();
        String xmlStr = "<Book><name>Think in Java</name><price>100</price></Book>"; 
        try {
            Book book = xmlMapper.readValue(xmlStr, Book.class);
            System.out.println(book);
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }
}

Es kommt sehr häufig vor Konvertieren Sie ein Objekt in einen String im JSON-Format in Java-Projekten. Es gibt viele Toolkits, die diese Anforderung erfüllen können, wie z. B. Gson, JSON-lib, Jackson usw. In diesem Artikel wird hauptsächlich die Verwendung von Jackson vorgestellt. Neben der Konvertierung von Java-Objekten und JSON-Strings kann Jackson auch Java-Objekte in das XML-Format konvertieren. Es ist relativ einfach zu verwenden und gilt als relativ effizient.
Für Jacksons JAR-Paket können wir es aus der Maven-Ressourcenbibliothek herunterladen: http://www.php.cn/

Das erforderliche JAR-Paket lautet wie folgt, suchen Sie es einfach nach Namen und laden Sie es herunter.

Es wird das Java-Objekt-, Json- und XML-Konvertierungstool Jackson verwendet

Als nächstes benötigen wir eine Java-Klasse:

package com.csii.jackson.object;
public class Book{    
private String name;    
private int price;    
public String getName() {        
return name;
    }    public void setName(String name) {        
    this.name = name;
    }    public int getPrice() {        
    return price;
    }    public void setPrice(int price) {        
    this.price = price;
    }    public Book() {

    }    public Book(String name,int price) {        
    this.name = name;        
    this.price = price;
    } 
    @Override    
    public String toString() { 
        return "name:" + name +"; price:" + price;
    }

}

1. Konvertieren Sie das Java-Objekt in einen Json-String:

    @Test    public void testGenJson()
    {
        ObjectMapper objMapper = new ObjectMapper();
        Book book = new Book("Think in Java",100);        try {
            jsonGen = objMapper.getJsonFactory().createJsonGenerator(System.out,JsonEncoding.UTF8);
            jsonGen.writeObject(book);
        } catch (IOException e) { 
            e.printStackTrace();
        } 
    }

Führen Sie die Testmethode aus, Konsolenausgabe:

{"name":"Think in Java","price":100}

2. Konvertieren Sie den Json-String in ein Java-Objekt:

    /*
     * Json转Java对象
     */
    @Test    public void testGenObjByJson()
    {
        ObjectMapper objMapper = new ObjectMapper();
        String json = "{\"name\":\"Think in Java\",\"price\":100}"; 
        try {
            Book book = objMapper.readValue(json, Book.class);
            System.out.println(book);
        } catch (IOException e) { 
            e.printStackTrace();
        }  
    }

Da wir die Book-Klasse-toString-Methode neu geschrieben haben, führen Sie die aus Testmethode, Konsolenausgabe:

name:Think in Java; price:100

3. Java-Objekt in XML-Format konvertieren:

     /*
     * Java对象转xml
     */
    @Test    public void testGenXml()
    {
        XmlMapper xmlMapper = new XmlMapper();

        Book book = new Book("Think in Java",100);        try {
            String xmlStr =  xmlMapper.writeValueAsString(book);
            System.out.println(xmlStr);
        } catch (JsonProcessingException e) { 
            e.printStackTrace();
        }
    }

Führen Sie die Testmethode aus, Konsolenausgabe:

<Book xmlns=""><name>Think in Java</name><price>100</price></Book>

4. Konvertieren Sie die XML-Formatzeichenfolge in ein Java-Objekt:

    /*
     * xml转Java对象
     */
    @Test    public void testGenObjByXml()
    {
        XmlMapper xmlMapper = new XmlMapper();
        String xmlStr = "<Book><name>Think in Java</name><price>100</price></Book>"; 
        try {
            Book book = xmlMapper.readValue(xmlStr, Book.class);
            System.out.println(book);
        } catch (IOException e) {            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

Ausgabeinhalt:

name:Think in Java; price:100

Vollständiger Testfallcode:

package com.csii.jackson.test;
import java.io.IOException;
import org.junit.Test;
import com.csii.jackson.object.Book;
import com.fasterxml.jackson.core.JsonEncoding;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.dataformat.xml.XmlMapper;
@SuppressWarnings("deprecation")
public class JsonTest { 
    private JsonGenerator jsonGen = null;
    /*
     * Java对象转 Json
     */
    @Test
    public void testGenJson()
    {
        ObjectMapper objMapper = new ObjectMapper();
        Book book = new Book("Think in Java",100);
        try {
            jsonGen = objMapper.getJsonFactory().createJsonGenerator(System.out,JsonEncoding.UTF8);
            jsonGen.writeObject(book);
        } catch (IOException e) { 
            e.printStackTrace();
        } 
    }    /*
     * Json转Java对象
     */
    @Test
    public void testGenObjByJson()
    {
        ObjectMapper objMapper = new ObjectMapper();
        String json = "{\"name\":\"Think in Java\",\"price\":100}"; 
        try {
            Book book = objMapper.readValue(json, Book.class);
            System.out.println(book);
        } catch (IOException e) { 
            e.printStackTrace();
        }  
    }    /*
     * Java对象转xml
     */
    @Test
    public void testGenXml()
    {
        XmlMapper xmlMapper = new XmlMapper();

        Book book = new Book("Think in Java",100);
        try {
            String xmlStr =  xmlMapper.writeValueAsString(book);
            System.out.println(xmlStr);
        } catch (JsonProcessingException e) { 
            e.printStackTrace();
        }
    }    /*
     * xml转Java对象
     */
    @Test
    public void testGenObjByXml()
    {
        XmlMapper xmlMapper = new XmlMapper();
        String xmlStr = "<Book><name>Think in Java</name><price>100</price></Book>"; 
        try {
            Book book = xmlMapper.readValue(xmlStr, Book.class);
            System.out.println(book);
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }
}

Das Obige ist der Inhalt Wird vom Java-Objekt, Json und dem XML-Konvertierungstool Jackson verwendet. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!


Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Die Rolle von XML in RSS: Die Grundlage von syndizierten InhaltenDie Rolle von XML in RSS: Die Grundlage von syndizierten InhaltenApr 12, 2025 am 12:17 AM

Die Kernrolle von XML in RSS besteht darin, ein standardisiertes und flexibles Datenformat bereitzustellen. 1. Die Struktur- und Markup -Sprachmerkmale von XML machen es für den Datenaustausch und Speicher für den Daten. 2. RSS verwendet XML, um ein standardisiertes Format zu erstellen, um die Inhaltsfreigabe zu erleichtern. 3. Die Anwendung von XML in RSS enthält Elemente, die Futterinhalte wie Titel und Veröffentlichungsdatum definieren. 4. Vorteile umfassen Standardisierung und Skalierbarkeit sowie Herausforderungen umfassen dokumentausführende und strenge Syntaxanforderungen. 5. Zu den Best Practices gehört die Validierung der XML -Gültigkeit, die einfache Haltung, die Verwendung von CDATA und die regelmäßige Aktualisierung.

Von XML zu lesbaren Inhalten: entmystifizierende RSS -FeedsVon XML zu lesbaren Inhalten: entmystifizierende RSS -FeedsApr 11, 2025 am 12:03 AM

RssfeedsarexmldocumentsUTForContentAggregation und Distribution

Gibt es eine RSS -Alternative, die auf JSON basiert?Gibt es eine RSS -Alternative, die auf JSON basiert?Apr 10, 2025 am 09:31 AM

JSONFEED ist eine JSON-basierte RSS-Alternative, die die Einfachheit und Benutzerfreundlichkeit hat. 1) JSONFEED verwendet das JSON -Format, das leicht zu erzeugen und analysieren zu können. 2) Es unterstützt die dynamische Generation und eignet sich für die moderne Webentwicklung. 3) Die Verwendung von JSONFeed kann die Effizienz und die Benutzererfahrung des Inhaltsmanagements verbessern.

RSS -Dokumentenwerkzeuge: Erstellen, Validieren und Veröffentlichen von FeedsRSS -Dokumentenwerkzeuge: Erstellen, Validieren und Veröffentlichen von FeedsApr 09, 2025 am 12:10 AM

Wie baue, validieren und veröffentlichen Sie RSSFeeds? 1. Build: Verwenden Sie Python -Skripte, um RSSFeed einschließlich Titel, Link, Beschreibung und Veröffentlichungsdatum zu generieren. 2. Überprüfung: Verwenden Sie Feedvalidator.org oder Python -Skript, um zu überprüfen, ob RSSFeed die RSS2.0 -Standards entspricht. 3. Veröffentlichen: Laden Sie RSS -Dateien auf den Server hoch oder verwenden Sie Flask, um RSSFeed dynamisch zu generieren und zu veröffentlichen. Durch diese Schritte können Sie Inhalte effektiv verwalten und teilen.

Sicherung Ihrer XML/RSS -Feeds: Eine umfassende Sicherheits -ChecklisteSicherung Ihrer XML/RSS -Feeds: Eine umfassende Sicherheits -ChecklisteApr 08, 2025 am 12:06 AM

Methoden zur Gewährleistung der Sicherheit von XML/RSSFeeds umfassen: 1. Datenüberprüfung, 2. Verschlüsselter Transmission, 3. Zugriffskontrolle, 4. Protokolle und Überwachung. Diese Maßnahmen schützen die Integrität und Vertraulichkeit von Daten durch Netzwerksicherheitsprotokolle, Datenverschlüsselungsalgorithmen und Zugriffskontrollmechanismen.

XML/RSS -Interview Fragen und Antworten: Stufen Sie Ihr Fachwissen aufXML/RSS -Interview Fragen und Antworten: Stufen Sie Ihr Fachwissen aufApr 07, 2025 am 12:19 AM

XML ist eine Markup-Sprache, die zum Speichern und Übertragen von Daten verwendet wird, und RSS ist ein XML-basiertes Format, das zur Veröffentlichung häufig aktualisierter Inhalte verwendet wird. 1) XML beschreibt Datenstrukturen durch Tags und Attribute, 2) RSS definiert spezifische Tag -Veröffentlichungen und abonnierte Inhalte, 3) XML kann erstellt und unter Verwendung von Pythons xml.etree.elementtree -Modul, 4) XML -Knoten für Xpath Expressions, 5). Validiert werden durch Xmllint, 7) Verarbeitung großer XML -Dateien mit SAX -Parser kann die Leistung optimieren.

Advanced XML/RSS -Tutorial: Ace Ihr nächstes technisches InterviewAdvanced XML/RSS -Tutorial: Ace Ihr nächstes technisches InterviewApr 06, 2025 am 12:12 AM

XML ist eine Markup-Sprache für die Datenspeicherung und -austausch, und RSS ist ein XML-basiertes Format für die Veröffentlichung aktualisierter Inhalte. 1. XML definiert Datenstrukturen, die für den Datenaustausch und Speicher geeignet sind. 2.RSS wird für das Inhaltsabonnement verwendet und verwendet spezielle Bibliotheken bei der Parsen. 3. Wenn Sie XML analysieren, können Sie DOM oder SAX verwenden. Beim Generieren von XML und RSS müssen Elemente und Attribute korrekt festgelegt werden.

Von XML/RSS bis JSON: Moderne DatentransformationsstrategienVon XML/RSS bis JSON: Moderne DatentransformationsstrategienApr 05, 2025 am 12:08 AM

Verwenden Sie Python, um von XML/RSS in JSON zu konvertieren. 1) Quelldaten analysieren, 2) Felder extrahieren, 3) in JSON konvertieren, 4) Ausgabe von JSON. Verwenden Sie die Bibliotheken xml.etree.elementtree und FeedParser, um XML/RSS zu analysieren, und verwenden Sie die JSON -Bibliothek, um JSON -Daten zu generieren.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

MantisBT

MantisBT

Mantis ist ein einfach zu implementierendes webbasiertes Tool zur Fehlerverfolgung, das die Fehlerverfolgung von Produkten unterstützen soll. Es erfordert PHP, MySQL und einen Webserver. Schauen Sie sich unsere Demo- und Hosting-Services an.

Dreamweaver Mac

Dreamweaver Mac

Visuelle Webentwicklungstools

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Leistungsstarke integrierte PHP-Entwicklungsumgebung

MinGW – Minimalistisches GNU für Windows

MinGW – Minimalistisches GNU für Windows

Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen