Есть ли способ удалить только имя поля из json объекта, созданного через Spring? - PullRequest
0 голосов
/ 28 марта 2020

Я разрабатываю пример приложения для изучения Spring. Я хочу, чтобы мой сервис возвращал результаты в следующем формате.

{
  [
    {
      "name": "John",
      "age": "25"
    },
    {
      "name": "Jack",
      "age": "20"
    }
  ]
}

Я разработал подобный класс для хранения данных о человеке.

class Person {
  String name;
  String age;
  //getters and setters
}

Другой класс, который содержит массив Person, такой как

class Result {
  ArrayList<Person> result = new ArrayList();

  void addPerson(Person p) {
      result.add(p);
  }
  //getter for result
}

Когда я выполняю вызов для своего API, я получаю результат в следующем формате.

{
  "result": [
    {
      "name": "John",
      "age": "25"
    },
    {
      "name": "Jack",
      "age": "20"
    }
  ]
}

Как сделать строку "результата" go от результата? Я правильно спроектировал?

Спасибо

1 Ответ

0 голосов
/ 28 марта 2020

Вы можете сделать массив как элемент root, используя @ JsonValue

class Result {
  @JsonValue
  ArrayList<Person> result = new ArrayList();

  ...
}

output json:

  [
    {
      "name": "John",
      "age": "25"
    },
    {
      "name": "Jack",
      "age": "20"
    }
  ]

your json {[...]} is недействительно json

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