Gson Json 正在解析 Java

Gson Json Parsing in Java

我想解析 json 列表。我用过springboot项目,数据库是H2。数据库包含的数据很少。

我已经通过@getmapping 函数成功显示了json 数据。 代码如下,

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
}]

我只想在后端代码中显示名称和价格。

不幸的是,Gson 在某些方面并不像 Jackson 那样直截了当 - 您可以在其中简单地使用注释 @JsonIgnore.

另一方面,Gson 似乎有更多的灵活性(虽然有时有点过于技术化。)

对于 Gson,您有两个主要选择来实现您想要的:

  1. 将您要忽略的字段标记为 transientprivate transient String id(在这种情况下,您必须确保这不会对您的应用程序造成任何副作用。)
  2. 您可以使用 Gson 非常灵活的功能,尤其是注解 @Expose。例如:

    @Expose(序列化=假) 私有字符串 id;

您可以找到更多示例和详细信息here and here

如果有帮助,请告诉我们。