【问题标题】:How to parse nested JSON input to object into jersey?如何将嵌套的 JSON 输入解析为对象到球衣中?
【发布时间】:2016-06-27 23:02:33
【问题描述】:

我将输入传递给我的 API,如下所示:

{
  "param1": "value1",
  "param2":"value2",
  "param3": {
               "min": "xyz",
               "max": "abc"
            }
}

我想将此 JSON 请求解析为对象,例如:

class Filter {
       String param1;
       String param2;
       //frequency object will consist of maximum and minimum attributes
       Frequency frequency

}

如何在我的 API 方法中自动实例化过滤器对象?

提前致谢。

【问题讨论】:

    标签: java json api jersey


    【解决方案1】:

    你可以使用杰克逊映射器

    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-core</artifactId>
        <version>2.7.2</version>
    </dependency>
    

    或者如果您使用泽西岛代替

    <dependency>
        <groupId>org.glassfish.jersey.media</groupId>
        <artifactId>jersey-media-json-jackson</artifactId>
        <version>2.22.2</version>
    </dependency>
    

    ObjectMapper mapper = new ObjectMapper();
    String jsonString = "{\"param1\":\"Bar\",\"param2\":\"Foo\",\"frequency\":{\"min\":0,\"max\":10}}";
    Filter filter = mapper.readValue(jsonString, Filter.class);
    System.out.println(mapper.writeValueAsString(filter));
    

    public class Filter {
        public String param1;
        public String param2;
        public Frequency frequency;
    }
    

    public class Frequency {
        public int min;
        public int max;
    }
    

    【讨论】:

      猜你喜欢
      • 2021-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多