Java中的Gson Json解析

Posted

技术标签:

【中文标题】Java中的Gson Json解析【英文标题】:Gson Json Parsing in Java 【发布时间】:2020-09-17 08:07:03 【问题描述】:

我想解析 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
]

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

【问题讨论】:

【参考方案1】:

不幸的是,Gson 在某些方面并不像 Jackson 那样直接——您可以简单地使用注解 @JsonIgnore

另一方面,Gson 似乎具有更大的灵活性(尽管有时有点过于技术化。)

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

    将要忽略的字段标记为transientprivate transient String id(在这种情况下,您必须确保这不会对您的应用程序造成任何副作用。)

    您可以使用 Gson 非常灵活的功能,尤其是注解@Expose。例如:

    @Expose(Serialize = false) 私有字符串id;

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

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

【讨论】:

非常感谢。它按预期工作。我还想知道一件事吗,如果有关于 Spring Boot 中的符号的教程链接或视频,你能分享给我吗? @YashZode 没问题!但是,您能列出您已经尝试过的那些吗?我假设您已经搜索并尝试过。

以上是关于Java中的Gson Json解析的主要内容,如果未能解决你的问题,请参考以下文章

java 解析json字符串

json解析之gson

JSON 之GSON 解析

Java使用 gson 解析出现的错误

Android JSON数据解析(GSON方式)

Gson解析比较复杂的json数据