使用包含RestTemplate的Array的单个字段为json创建POJO

问题描述 投票:0回答:2

我正在为以下JSON格式创建客户端-

{
    "results": [
        {
            "Product": "K265113",
            "Language": "EN",
            "LongText": "FIXTURE,INTERIOR,WALL"
        }
    ]
}

JSON始终包含“结果”字段,该字段是单个元素的数组(在此数组中始终是单个元素)。我只需要JSON中的LongText字段即可。我正在使用Spring RESTTemplate。

我知道如果创建两个像-这样的DTO,它会起作用。

public class ParentDTO
{
    private List<ChildDTO> results;

    public List<ChildDTO> getResults()
    {
        return results;
    }

    public void setResults(List<ChildDTO> results)
    {
        this.results = results;
    }
}


public class ChildDTO
{
    private String longText;

    public String getLongText()
    {
        return longText;
    }

    @JsonProperty("LongText")
    public void setLongText(String longText)
    {
        this.longText = longText;
    }
}

但是有什么方法可以通过创建单个DTO来读取longText,因为父DTO没有任何有用的字段,因为我知道在结果数组中始终只有一个元素。

我正在为以下格式的JSON创建客户端-{“结果”:[{“产品”:“ K265113”,“语言”:“ EN”,“ LongText”:“ FIXTURE,INTERIOR,WALL” .. 。

java json spring resttemplate
2个回答
0
投票

您可以使用@JsonRootName批注,这将使您摆脱无用的父POJO。


-1
投票

之所以只需要一个DTO,可能是因为只希望一个类来执行此任务。您可以使用ChildDTO作为内部类来实现这一点,这将使其更易于阅读和维护。

© www.soinside.com 2019 - 2024. All rights reserved.