繁体   English   中英

如何从JSON响应中获取具体的类?

[英]How to get concrete class from JSON response?

我有一个基本的JAVA课:

public class BasicDefinition {

    private Integer id = null;
    private String name = null;

    @JsonProperty("ID")
    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    @JsonProperty("Name")
    public String getName() {
        return name;
    }    

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

我正在尝试使用Jackson解析我的JAVA服务器中的Web服务响应,该服务响应与我的类匹配,我正在使用以下命令从服务器获取结果:

String resultString = EntityUtils.toString(entity);

resultString为:

{GetBasicEntityDefinitionsResult={ID=1, Name=Some Name}}

如何转换字符串以返回我的课程? 我的函数将T作为需要返回的类。 在这种情况下,T为BasicDefinition

使用杰克逊依赖

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.6.3</version>
</dependency>

ObjectMapper映射器=新的ObjectMapper(); 字符串jsonInString =“ {'name':'xyz'}”;

//从文件到对象的JSON

className obj = mapper.readValue(new File(“ c:\\ file.json”),className.class);

你能行的。

ObjectMapper mapper = new ObjectMapper();
String jsonInString = "{ID=1, Name=Some Name}";
BasicDefinition bd = mapper.readValue(jsonInString, BasicDefinition.class);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM