java - 如何使用Jackson ObjectMapper将多个数据转换为Pojo

标签 java jersey jackson json

我想将以下字符串/JSONObject 转换为 POJO,

{"list":["\r\n{\r\n\"id\":\"1\",\r\n\"protocol\":\"udp\",\r\n\"srcPorts= \":\"3000-4000    \",\r\n\"destPorts\":\"1790-2000\"\r\n}","\r\n{\r\n\"id\":\"2\",\r\n    \"protocol\":\"tcp\",\r\n\"srcPorts\":\"3000-4000\",\r\n\"destPorts\":\"1790-2000    \"\r\n}"],"user":"\r\n{\r\n\"name\":\"John\",\r\n\"address\":\"x.x.x.x\",\r\n\"email     \":\"john@p.com\"\r\n}"}

如何使用 Jackson ObjectMapper 转换为 Pojo。 2个Pojo类如下。

上面字符串中的用户部分应映射到 java 文件 - User.java

public class User 
{
    private String name;

    private String address;

    private String email;

    public String getName()
    {
        return name;
    }

    public void setName(String name) 
    {
        this.name = name;
    }

    public String getAddress() 
    {
        return address;
    }

    public void setaddress(String Address) 
    {
        this.address = address;
    }

    public String getEmail()
    {
        return email;
    }

    public void setEmail(String email)
    {
        this.email = email;
    }   
}

上面字符串中的 List 部分应映射到 java 文件 - TestCase.java

public class TestCase 
{
    private String id;
    private String protocol;
    private String srcPorts;
    private String destPorts;

    public String getProtocol()
    {
        return protocol;
    }

    public void setProtocol(String protocol) 
    {
        this.protocol = protocol;
    }

    public String getSrcPorts() 
    {
        return srcPorts;
    }

    public void setSrcPorts(String srcPorts) 
    {
        this.srcPorts = srcPorts;
    }

    public String getDestPorts() 
    {
        return destPorts;
    }

    public void setDestPorts(String destPorts) 
    {
        this.destPorts = destPorts;
    }

    public String getID() 
    {
        return id;
    }

    public void setID(String id) 
    {
        this.id = id;
    }       
}

最佳答案

以下代码应该有帮助。

类 ParseJson{

私有(private)用户用户;
私有(private)测试用例测试用例;

//getter 和 setter 方法
}
//然后调用objectMapper -
String jsonString = "";//Json输入
ObjectMapper 映射器 = new ObjectMapper();
ParseJson parsedJson = mapper.readValue(jsonString, ParseJson.class);

用户 user = parsedJson.getUser();
TestCase testCase = parsedJson.getTestCase();

关于java - 如何使用Jackson ObjectMapper将多个数据转换为Pojo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22680630/

相关文章:

java - 使用 Grizzly 和 Jersey 的 SSL

java - Spring RestController : reject request with unknown fields

java - 从网络摄像头代码将图片上传到 Twitter 每次都上传相同的照片

java - struts2静态方法调用问题

java - 有关 RSS 源的查询 - 我的服务器中的数据加载

rest - Apache CXF 中内置 HTTP 服务器

java - com.sun.jersey.spi.container.ContainerResponse : A message body writer for Java class

java - JsonIgnore on Field vs JsonIgnore on getter of Jackson

java - 使用 Jackson ObjectMapper 时如何忽略 pojo 注释?

java - 数值超出范围