<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # JAXB 將對象轉換為 JSON 的示例 > 原文: [https://howtodoinjava.com/jaxb/convert-object-to-json-moxy/](https://howtodoinjava.com/jaxb/convert-object-to-json-moxy/) Java 示例**將 Java 對象轉換為 JSON 字符串**或將 JSON 寫入文件。 本示例將 [MOXy](https://wiki.eclipse.org/EclipseLink/Examples/MOXy) 與 JAXB 一起使用,以**將 Java 對象編組為 JSON**。 MOXy 實現 JAXB,使開發人員可以通過注解提供其映射信息,并提供 JAXB 默認不提供的許多豐富功能。 ## 1\. MOXy 依賴 包括 MOXy 到項目運行時。 ```java <dependency> <groupId>org.eclipse.persistence</groupId> <artifactId>org.eclipse.persistence.moxy</artifactId> <version>2.5.2</version> </dependency> ``` ## 2\. Java 對象到 JSON 字符串 #### 2.1 添加 JAXB 注解 ```java @XmlRootElement(name = "employee") @XmlAccessorType(XmlAccessType.PROPERTY) public class Employee implements Serializable { private static final long serialVersionUID = 1L; private Integer id; private String firstName; private String lastName; private Department department; public Employee() { super(); } //Setters and Getters } ``` ```java @XmlRootElement(name = "department") @XmlAccessorType(XmlAccessType.PROPERTY) public class Department implements Serializable { private static final long serialVersionUID = 1L; Integer id; String name; public Department() { super(); } //Setters and Getters } ``` #### 2.2 添加`jaxb.properties` 當您獲得`JAXBContext`的實例時,JAXB 將檢查`jaxb.properties`文件并構造上下文。 在這里,您從 MOXy 庫中注入了`JAXBContextFactory`。 > 將`jaxb.properties`文件放在放置 JAXB 注解類的同一包中。 ```java javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory ``` #### 2.3 將對象轉換為 JSON 現在使用`javax.xml.bind.Marshaller`類將對象轉換為 json。 ```java package com.howtodoinjava.demo; import java.io.StringWriter; import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.Marshaller; import org.eclipse.persistence.jaxb.MarshallerProperties; import com.howtodoinjava.demo.model.Department; import com.howtodoinjava.demo.model.Employee; public class JaxbExample { public static void main(String[] args) { Employee employee = new Employee(1, "Lokesh", "Gupta", new Department(101, "IT")); jaxbObjectToJSON(employee); } private static void jaxbObjectToJSON(Employee employee) { try { JAXBContext jaxbContext = JAXBContext.newInstance(Employee.class); Marshaller jaxbMarshaller = jaxbContext.createMarshaller(); // To format JSON jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE); //Set JSON type jaxbMarshaller.setProperty(MarshallerProperties.MEDIA_TYPE, "application/json"); jaxbMarshaller.setProperty(MarshallerProperties.JSON_INCLUDE_ROOT, true); //Print JSON String to Console StringWriter sw = new StringWriter(); jaxbMarshaller.marshal(employee, sw); System.out.println(sw.toString()); } catch (JAXBException e) { e.printStackTrace(); } } } ``` 程序輸出: ```java { "employee" : { "department" : { "id" : 101, "name" : "IT" }, "firstName" : "Lokesh", "id" : 1, "lastName" : "Gupta" } } ``` > 閱讀更多:[將 Java 對象轉換為 XML](https://howtodoinjava.com/jaxb/write-object-to-xml/) ## 3\. Java 對象到 JSON 文件 使用上面的代碼,現在輸出到 json 文件。 ```java package com.howtodoinjava.demo; import java.io.File; import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.Marshaller; import org.eclipse.persistence.jaxb.MarshallerProperties; import com.howtodoinjava.demo.model.Department; import com.howtodoinjava.demo.model.Employee; public class JaxbExample { public static void main(String[] args) { Employee employee = new Employee(1, "Lokesh", "Gupta", new Department(101, "IT")); jaxbObjectToJSON(employee); } private static void jaxbObjectToJSON(Employee employee) { try { JAXBContext jaxbContext = JAXBContext.newInstance(Employee.class); Marshaller jaxbMarshaller = jaxbContext.createMarshaller(); // To format JSON jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE); //Set JSON type jaxbMarshaller.setProperty(MarshallerProperties.MEDIA_TYPE, "application/json"); jaxbMarshaller.setProperty(MarshallerProperties.JSON_INCLUDE_ROOT, true); //Store JSON to File File file = new File("employee.json"); jaxbMarshaller.marshal(employee, file); } catch (JAXBException e) { e.printStackTrace(); } } } ``` 程序輸出: ```java { "employee" : { "department" : { "id" : 101, "name" : "IT" }, "firstName" : "Lokesh", "id" : 1, "lastName" : "Gupta" } } ``` 請在評論部分將該 json 轉換示例**相關的問題**發送給我。 學習愉快!
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看