-1

有人知道一些好的杰克逊注释教程吗?特别是,如何使用杰克逊注解解析 json 数组?假设我有这样的json:

{
...
"item1": "aaa",
"item2": "bbb",
"fl": [
     {
         "item3": "ccc",
         "item4": "ddd"
      }
  ]
} 

如何使用杰克逊注解解析包含数组的 json?

4

2 回答 2

1

我假设您正在询问如何将 JSON 映射到 Java 对象(解析通常是指将 JSON 内容流解码为另一种表示的较低级别的活动,它可能是也可能不是一组对象)。

使用 Jackson(以及许多其他库、Genson、GSON 等),您可以选择将其绑定到具有匹配结构的 POJO 中,例如:

public class Value { 
  public String item1; // or some other type one can bind from JSON String
  public String item2; // can alternatively use getters/setters instead of public fields
  public List<EntryType> f1;
}
public class EntryType {
  public String item3;
  public String item4;
}

或将其读取为树表示,如下所示:

JsonNode rootNode = mapper.readTree(inputSource);

在后一种情况下,您需要遍历树节点来查找数据。

关于注解:如果需要更改绑定的默认属性,只需要使用注解即可;例如 JSON 对象字段和 POJO 属性名称之间的映射。

对于包含一些注释的 Jackson 特定配置,请参阅 Jackson-databind github 项目:https ://github.com/FasterXML/jackson-databind/

于 2013-08-16T18:22:29.297 回答
0

使用 Jackson 解析 json 有三种方法 -

  1. 使用流式解析器。(http://www.studytrails.com/java/json/java-jackson-json-streaming.jsp)
  2. 将 Json 解析为树模型 - http://www.studytrails.com/java/json/java-jackson-json-tree-parsing.jsp
  3. 无注解数据绑定 -数据绑定,过滤器数据绑定,多态数据绑定
于 2013-10-27T04:37:51.470 回答