当前位置: 代码迷 >> java >> JAX-RS将HashMap转换为XML或JSON
  详细解决方案

JAX-RS将HashMap转换为XML或JSON

热度:24   发布时间:2023-08-02 11:11:31.0

我有一个数据库接口,该接口返回HashMap。 我正在编写一个JAX-RS REST接口,以从该数据库中检索数据并以XML或JSON的形式显示在浏览器中。

@XmlRootELement标记负责POJO到XML / JSON的转换。

我应该如何处理Map to XML / JSON转换?

任何帮助表示赞赏!

考虑使用以下Rest接口。 我们定义了可以生成不同格式类型输出的注释“产品”。 在您的情况下,APPLICATION_JSON将生成JSON,APPLICATION_XML将生成XML格式。 因此,据此做出决定。

package : javax.ws.rs.PathParam;

@GET
@Path("/helloRest")
@Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
public MyPojo getHello();

您可以控制如何使用javax.xml.bind.annotation包中的Annotation生成XML格式。 如果需要,这将帮助您控制POJO对象名称和其他验证

@XmlRootElement(name="MyHello")
@XmlAccessorType(XmlAccessType.FIELD)
public  class MyPojo
{
    @XmlElement(name="id")
    private int id;
    @NotNull
    @Size(min = 1, max = 10, message = "Mandatory Field")
    @FormParam("code")
    private String code;
    @NotNull
    @Size(min = 1, max = 50, message = "Mandatory Field")
    @FormParam("name")
    private String name;
    @FormParam("status")
    private String status;


JSON Format: 

{"id":48,"code":"dfgfdgd","name":"aaaaaaaaa","status":"dfgfdgdd"}


XML Format:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <MyHello><id>168</id>
    <code>AS3</code>
    <name>gfhfgh</name>
    <status>A</status>
</MyHello>
  相关解决方案