fastjson parseobject typereference - 指定泛型类型

发布时间 2023-09-27 12:54:45作者: 仟仟绾绾

Fastjson是一种Java中非常流行的JSON解析库,它可以将JSON字符串转换为Java对象。其中,parseObject方法是Fastjson提供的一种将JSON字符串解析为Java对象的方法,而TypeReference是Java泛型中的一个类,可以用于指定泛型类型,例如List、Map<String, Integer>等等。

当我们使用parseObject方法解析JSON字符串时,如果我们需要将JSON字符串转换为某个泛型类型的Java对象,就需要使用TypeReference类。具体来说,我们可以使用如下方法来解析JSON字符串并将其转换为List类型的Java对象:

String jsonStr = "[\"foo\", \"bar\", \"baz\"]";
List<String> list = JSON.parseObject(jsonStr, new TypeReference<List<String>>(){});

  上述代码中,TypeReference<List>表示要将JSON字符串解析为List类型的Java对象。这里使用了Java中的匿名内部类语法,以便能够创建TypeReference的实例。在TypeReference的实例中,我们必须指定我们要解析的泛型类型,这里是List。

在实际使用中,我们可以根据需要将TypeReference用于不同的泛型类型。例如,如果我们需要将JSON字符串解析为Map<String, Integer>类型的Java对象,可以使用如下代码:

String jsonStr = "{\"foo\": 1, \"bar\": 2, \"baz\": 3}";
Map<String, Integer> map = JSON.parseObject(jsonStr, new TypeReference<Map<String, Integer>>(){});

总之,使用TypeReference可以帮助我们在解析JSON字符串时指定泛型类型,从而方便地将其转换为Java对象。