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

如何使用泛型方法和 class<t> 反序列化 <a href=json 字符串为指定类型?"> 反序列化 json 字符串为指定类型?" />

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

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

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

解决方案:

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

public class reqbody<t> {

    private t parameter;

    /**
     * 使用 json 反序列化赋值
     */
    public reqbody(string json, class<t> clzz) {
        parameter = (t) jsonobject.parseobject(json, clzz);
    }
}</t></t>

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

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

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

以上就是如何使用泛型方法和 Class 反序列化 JSON 字符串为指定类型?的详细内容,更多请关注其它相关文章!