Gson Json Разбор в Java - PullRequest
       34

Gson Json Разбор в Java

2 голосов
/ 29 мая 2020

Я хочу разобрать список json. Я использовал проект springboot, база данных - H2. База данных содержит мало данных.

Я успешно отобразил json данные с помощью функции @getmapping. Код, как показано ниже:

File-----> ProductController.Java 
@GetMapping("/products_from_db")
        public  List<Product> getProducts_from_db() { 
            return productservice.findAll() ;
        } 

Второй файл выглядит следующим образом.

File ----> Product.java

@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
//@ToString
@Entity
public class Product {

    @Id
    @GeneratedValue
    private Integer id;
    private String name;
    private int price;

    @Override
    public String toString() {
        return "Product{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", price=" + price +
                '}';
    }

вывод:

[{
    "id": 1,
    "name": "Mango",
    "price": 98
}, {
    "id": 2,
    "name": "Strawberry",
    "price": 92
}, {
    "id": 3,
    "name": "Cadbury",
    "price": 85
}, {
    "id": 4,
    "name": "yash",
    "price": 100
}]

Я хочу отображать только имя и цену на обратной стороне только конечный код.

1 Ответ

0 голосов
/ 30 мая 2020

К сожалению, Gson не так прямолинеен в некоторых аспектах, как, например, Jackson - где вы можете просто использовать аннотацию @JsonIgnore.

С другой стороны, Gson кажется более гибким ( хотя иногда бывает слишком технически.)

В случае Gson у вас есть два основных варианта достижения желаемого:

  1. Отметьте поле, которое вы хотите игнорировать, как transient : private transient String id (в этом случае вы должны убедиться, что это не вызовет никаких побочных эффектов в вашем приложении.)
  2. Вы можете использовать очень гибкие возможности Gson, особенно аннотацию @Expose. например:

    @ Expose (Serialize = false) private String id;

Вы можете найти больше примеров и деталей здесь и здесь .

Пожалуйста, дайте нам знать, поможет ли.

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