如何使用泛型方法和 Class 反序列化 JSON 字符串为指定类型?

反序列化 json 字符串为指定类型?"> 反序列化 json 字符串为指定类型?" />

泛型类方法中的 class 使用解析

泛型类的方法可以使用 class 类型参数来指定实际类型。在反序列化的场景中,可以使用此机制来指定要转换的对象类型。

在给定的示例中,reqbody 类具有一个接受 json 字符串作为参数的构造函数。为了使用泛型方法 fromjson 进行反序列化,需要将目标类型的 class 作为参数传递给构造函数。

解决方案:

为此,可以将 class 类型参数添加到 reqbody 类中:

public class reqbody {

    private t parameter;

    /**
     * 使用 json 反序列化赋值
     */

public reqbody(string json, class clzz) { parameter = (t) jsonobject.parseobject(json, clzz); } }

然后,在构造函数中使用 class 类型参数来实例化目标类型:

ReqBody reqBody = new ReqBody("{\"path\":\"The path param\"}", Parameter.class);

这样,即可使用泛型方法 fromjson 将 json 字符串反序列化为指定的目标类型。