聚合国内IT技术精华文章,分享IT技术精华,帮助IT从业人士成长

JAVA Jackson解析无名(匿名)数组

2022-05-03 16:54 浏览: 2624917 次 我要评论(0 条) 字号:

假设有JSON文件 1.json:

[
    {
        "sku""ABC",
        "num"3
    },
    {
        "sku""DEF",
        "num"2
    }
]

由中括号可知,这个JSON字符串映射成JAVA对象是一个List,而它里面又包含了两个JAVA对象(每个大括号对应一个)。

假设JSON字符串 { "sku": "ABC", "num": 3 } 映射成的POJO为:

public class SkuInfo {
  private String sku;
  private int num;
}

那么,应该怎么用Jackson库来解析原JSON?
文章来源:https://www.codelast.com/
由于JSON字符串 { "sku": "ABC", "num": 3 } 是无名(匿名)的,所以要用这样的方法来解析它:

final ObjectMapper mapper = new ObjectMapper();
SkuInfo[] skuInfos = mapper.readValue(FileUtils.readFileToString(new File("1.json"), Charsets.UTF_8), SkuInfo[].class);

或者你不想把JSON解析成一个JAVA数组,而是一个List的话,可以这么做:

List<SkuInfo> skuInfos = MAPPER.readValue(FileUtils.readFileToString(new File("1.json"), Charsets.UTF_8),
      new TypeReference<List<SkuInfo>>() {});

文章来源:https://www.codelast.com/
➤➤ 版权声明 ➤➤ 
转载需注明出处:codelast.com 
感谢关注我的微信公众号(微信扫一扫):
wechat qrcode of codelast
以及我的微信视频号:



网友评论已有0条评论, 我也要评论

发表评论

*

* (保密)

Ctrl+Enter 快捷回复