Преобразовать класс POJO во вложенный Json - PullRequest
0 голосов
/ 30 июня 2019

Я столкнулся с проблемой при создании JSON с использованием POJO.Для этого я использовал jackson-databind 2.9.9.Ниже мой класс Pojo.ExampleModel содержит методы получения и установки, а также дочерний класс.

public class ExampleModel {

private String summary;
List<Custom_fields> customFieldsList;

public ExampleModel() {
}

public class Custom_fields
{
    private List<Map<String, String>> customField;
    private String value;

    public void setValue(String value){
        this.value = value;
    }
    public String getValue(){
        return this.value;
    }

    @JsonProperty("custom_fields")
    public List<Map<String, String>> getCustomField() {
        return customField;
    }
    public void setCustomField(List<Map<String, String>> customField) {
        this.customField = customField;
    }
}

public String getSummary() {
    return summary;
}
public void setSummary(String summary) {
    this.summary = summary;
}
}

Открытый класс класса функции ExampleFuntion {

public ExampleFunction() {
}

private static ExampleModel exampleModel = new ExampleModel();
private static ExampleModel.Custom_fields custField = exampleModel.new Custom_fields();

public static ExampleModel createData() {

    exampleModel.setSummary(strSummary);
    List<Map<String, String>> customField = new ArrayList<Map<String, String>>();
    Map<String, String> mapCustomValues = new HashMap<String, String>();
    mapCustomValues.put("name", strRftVersion);
    customField.add(mapCustomValues);
    custField.setCustomField(customField);
    custField.setValue("V1.1010");

    exampleModel.customFieldsList.add(custField);  
    // is this right way to do

    return exampleModel;
}
}

В этом формате JSON я хочу преобразовать выше класс Pojo

{
  "summary" : "Example Summary",
  "custom_fields": [
    {
        "field": {
            "name": "Dummy Name"
        },
        "value": "Seattle"
    }
  ]
}
...