Десериализовать JSON из массива JSON - PullRequest
0 голосов
/ 06 августа 2020

Я использую Jackson и пытаюсь десериализовать ответ JSON, который выглядит следующим образом:

{
    "Warnings": [{
            "Message": "Account code '48s9' has been removed as it does not match a recognised account"
        },
        {
            "Message": "Account code '48s9' has been removed as it does not match a recognised account"
        }
    ]
}

правильно ли я говорю, что класс будет выглядеть следующим образом? Можно ли как-нибудь это сделать?

@JsonIgnoreProperties(ignoreUnknown = true)
public class WarningsClass {

  private String Message;

  public String getMessage() {
    return Message;
  }

  public void setMessage(String message) {
    Message = message;
  }

}

1 Ответ

1 голос
/ 06 августа 2020

смог выяснить это:

// import com.fasterxml.jackson.databind.ObjectMapper; // version 2.11.1
// import com.fasterxml.jackson.annotation.JsonProperty; // version 2.11.1
/* ObjectMapper om = new ObjectMapper();
Root root = om.readValue(myJsonString), Root.class); */
public class Warning{
    @JsonProperty("Message") 
    public String message;
}

public class WarningsClass{
    @JsonProperty("Warnings") 
    public List<Warning> warnings;
}


WarningsClass messageResponse = mapper.readValue(data, WarningsClass.class);

что-то вроде этого будет работать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...