java - Java中的Gson Json解析

标签 java json spring-boot parsing gson

我想解析 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 那样直截了当 - 您可以在 Jackson 中简单地使用注释 @JsonIgnore

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

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

  1. 将您要忽略的字段标记为 transient:private transient String id(在这种情况下,您必须确保这不会对你的申请。)
  2. 您可以使用 Gson 非常灵活的功能,尤其是注释 @Expose。例如:

    @Expose(序列化=假) 私有(private)字符串标识;

您可以找到更多示例和详细信息herehere .

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

关于java - Java中的Gson Json解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62091297/

相关文章:

java - Java 对象中构造函数更改时的最佳实践

java - 嵌套迭代器类

javascript - 尝试将 JSON 数据插入数据表小部件

java - 如何在 Spring Boot 中以 JSON 形式抛出异常

java - 带有 Spring Boot 和 Spring Security 的 Angular2

spring-boot - 在docker容器内的外部tomcat上运行spring boot时出错

java - 尝试运行 jar 时出现 NoClassDefFoundError

java - AndroidKeyStore key 生成期间的 IllegalArgumentException(无法解析的日期)

java - 如何使用java复制curl命令?

android - Gson 2.2.2 仅在 4.2.1 上导致 stackoverflow