如何在java中过滤JSON

问题描述 投票:0回答:1

我有一个如下所示的 JSON:

{
    "name": "John",
    "age": 29,

    "city": "Bangalore",
    "country": "India"
}

但是根据请求,我只需要过滤名称和城市。我的回答应该如下:

{    
    "name": "John",
    "city": "Bangalore"
}

我们如何使用 Java 代码实现这一点?

java json filter
1个回答
0
投票

至少有 3 种与库无关的方法可以做到这一点:

  1. 将数据反序列化为一个类(比如说
    Request
    ) -> 将其转换为
    Response
    对象 -> 序列化响应
public class Request {

  private String name;
  private int age;
  private String city;
  private String country;
}
public class Response {

  private String name;
  private String city;
}
  1. 使用一个类(参见上面的

    Request
    示例,但选择更好的名称)与自定义序列化器/反序列化器。反序列化器将读取所有属性,序列化器将仅写入您需要的属性 -
    name
    city

  2. 使用通用对象 -

    Map<String, Object>
    。反序列化为
    Map
    -> 从中删除不需要的属性 (
    age
    ,
    country
    ) -> 序列化映射。

© www.soinside.com 2019 - 2024. All rights reserved.